來了個有點複雜沒辦法用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
感覺還是有點大