Python3批次改檔名

更新於 發佈於 閱讀時間約 3 分鐘

來了個有點複雜沒辦法用batch檔來處理的批次檔名變更需求

用 labview大概十幾分鐘可以弄出來, 但執行檔實在太大

所以改用python處理看看

IN和T是我們用來紀錄測試通道和測試次數

新舊命名規則對於IN和T的起點定義剛好相反,使用的碼數也不一致

必須從原始檔名分別把兩個字串抽取出來做運算變更

另外還必須額外插入測試站辨別碼

主要是用os.rename()來進行改檔名

為了減少程式運作時輸入東西太多,所以直接把程式和改名檔案放一起

就可以用os.getcwd()取得作業目錄

 

#!/usr/bin/env python
#-*- coding: utf-8 -*-
import os

files = os.listdir(os.getcwd()) #目前執行檔路徑

stg = input("1 for ATS1 2 for ATS3:") #輸入stage編號
stg_ind = "-T"+(str(stg).zfill(2))

n=0
for i in files:
oldname=files[n] #資料夾中檔名的list
in_index = oldname.find("IN") #IN indicator字串起點
test_index = oldname.find("T0") #T indicator字串起點
if in_index != -1: #檔名沒有"IN"都不處理
in_ind_old = oldname[in_index:in_index+4] #舊的IN字串
in_ind = "In"+str(int(oldname[in_index+2:in_index+4])-1) #新的IN起算點是0
tmp=oldname.replace(in_ind_old , in_ind+stg_ind)

test_ind_old = oldname[test_index:test_index+4]
test_ind = "T-"+str(int(oldname[test_index+1:test_index+4])+1).zfill(3) #新的T起算點是1,不足3碼要補0
tmp=tmp.replace(test_ind_old,test_ind)

newname=tmp.replace("_","-") #底線改減號
os.rename(oldname,newname) #改檔名
print(oldname,'-->>',newname)
n+=1

os.system("pause") #暫停提示完成

 

用pyinstaller打包成執行檔後變成5.4MB

pyinstaller -F ./Fname.py

感覺還是有點大

 

留言
avatar-img
留言分享你的想法!
avatar-img
hls Ding的沙龍
7會員
64內容數
ktest
hls Ding的沙龍的其他內容
2025/03/06
import csv import os folder = 'D:/PROGRAMMING/PythonCode/data_arrange/' fname_sum = 'sum.csv' bump = 6 csv_filenames = [f for f in os.listdir(folde
2025/03/06
import csv import os folder = 'D:/PROGRAMMING/PythonCode/data_arrange/' fname_sum = 'sum.csv' bump = 6 csv_filenames = [f for f in os.listdir(folde
看更多
你可能也想看
Thumbnail
在讀取檔案時,最怕路徑的問題,常常會有路徑錯誤造成的異常報錯。 為了避免諸如此類的問題發生,明白程式的當前目錄與檔案的路徑是很重要的。 可以利用os 模組是 Python 中的一個標準庫,提供了許多與操作系統的功能。 以下是一些常用的 os 模組基本操作及其範例: 1. os.getcwd
Thumbnail
在讀取檔案時,最怕路徑的問題,常常會有路徑錯誤造成的異常報錯。 為了避免諸如此類的問題發生,明白程式的當前目錄與檔案的路徑是很重要的。 可以利用os 模組是 Python 中的一個標準庫,提供了許多與操作系統的功能。 以下是一些常用的 os 模組基本操作及其範例: 1. os.getcwd
Thumbnail
INI 檔案是一種配置檔案格式,常用於保存設定資料和組態資訊。 它使用簡單的鍵值對結構來組織資料,通常用於程式、應用程式或操作系統中的配置和初始化設定。 INI 檔案每個鍵值對包含一個名稱(鍵)和對應的值。 基本的檔案格式如下: [Section1] Key1 = Value1 Key2 =
Thumbnail
INI 檔案是一種配置檔案格式,常用於保存設定資料和組態資訊。 它使用簡單的鍵值對結構來組織資料,通常用於程式、應用程式或操作系統中的配置和初始化設定。 INI 檔案每個鍵值對包含一個名稱(鍵)和對應的值。 基本的檔案格式如下: [Section1] Key1 = Value1 Key2 =
Thumbnail
教大家如何使用 pip 備份 python 虛擬環境,並移植到其他電腦之中,詳細圖文解說
Thumbnail
教大家如何使用 pip 備份 python 虛擬環境,並移植到其他電腦之中,詳細圖文解說
Thumbnail
大家寫文章時,都是用什麼「語言」存檔案呢?應該有不少人和我一樣,是用中文吧!可若偏偏遇上一個,不認「中文」的程式,也只能更名了!可難道一個個改?但為這去買或裝個軟體,好像又太過了,沒事誰又需要批量更名。 這時你就需要Rename Master(直接連官網),到了網頁,你可看見它大大提示著Freew
Thumbnail
大家寫文章時,都是用什麼「語言」存檔案呢?應該有不少人和我一樣,是用中文吧!可若偏偏遇上一個,不認「中文」的程式,也只能更名了!可難道一個個改?但為這去買或裝個軟體,好像又太過了,沒事誰又需要批量更名。 這時你就需要Rename Master(直接連官網),到了網頁,你可看見它大大提示著Freew
Thumbnail
當我們需要在C#中批次更改資料夾中的檔案名稱時,我們可以使用一個自定義的C#類別。這個類別會讓我們指定資料夾路徑和新的檔名,然後它會遍歷資料夾中的檔案,為每個檔案生成一個新的名稱,新名稱由指定的檔名加上一個序號組成。
Thumbnail
當我們需要在C#中批次更改資料夾中的檔案名稱時,我們可以使用一個自定義的C#類別。這個類別會讓我們指定資料夾路徑和新的檔名,然後它會遍歷資料夾中的檔案,為每個檔案生成一個新的名稱,新名稱由指定的檔名加上一個序號組成。
Thumbnail
請耐心閱讀到最後, 我們會提供更優雅的方式來處理這項需求… 故事起源 我們常常在使用Python的過程中會進行I/O的一些處理, 那麼最基本的就會是讀取檔案列表並對每一個特定的檔案名稱進行處理, 像這樣: import glob mp4_files = glob.glob(os.path
Thumbnail
請耐心閱讀到最後, 我們會提供更優雅的方式來處理這項需求… 故事起源 我們常常在使用Python的過程中會進行I/O的一些處理, 那麼最基本的就會是讀取檔案列表並對每一個特定的檔案名稱進行處理, 像這樣: import glob mp4_files = glob.glob(os.path
Thumbnail
一直以來都是靠手動的方式來進行檔案的版本管理,也就是自己複製檔案,然後改檔名,加入可以識別的編號。不過,越來越覺得,有必要用版本控制系統來幫忙,因為手動的方式實在很累人,而且當需要查找以前更動的內容時,非常沒有效率。當發現Spyder也有支援Git時,就想著:「好吧!那就試用看看好了。」
Thumbnail
一直以來都是靠手動的方式來進行檔案的版本管理,也就是自己複製檔案,然後改檔名,加入可以識別的編號。不過,越來越覺得,有必要用版本控制系統來幫忙,因為手動的方式實在很累人,而且當需要查找以前更動的內容時,非常沒有效率。當發現Spyder也有支援Git時,就想著:「好吧!那就試用看看好了。」
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News