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

感覺還是有點大

 

    6會員
    59內容數
    ktest
    留言0
    查看全部
    發表第一個留言支持創作者!
    你可能也想看
    Google News 追蹤
    Thumbnail
    這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
    Thumbnail
    美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
    Thumbnail
    Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
    Thumbnail
      在計算數字時我們要先搞懂運算符號代表的涵義,Python裡面的符號跟我們認知的不會有太大的差別,但是有一些代表不一樣的意思,就必須搞懂才不會在寫程式時,程式碼的重複性太高,會導致日後的維修性降低。
    Thumbnail
    常常會遇到好不容易寫好程式,但是輸出的時候沒辦法按照自己想要的格式,或是間隔來輸出,這時需要用到的就是格式化輸出,格式化輸出就是調整排版的一個形式。
    Thumbnail
    一、什麼是變數?   變數是指用來代表某一種資料型態的符號,以非數字的符號來表達,可以是英文字母也可以是一個英文單字,不過python有一些英文字母不能被當作變數,我們稱作保留字,例如:False、None、True、and、is、not、or、......,之後會在介紹。
    Thumbnail
    這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
    Thumbnail
    美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
    Thumbnail
    Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
    Thumbnail
      在計算數字時我們要先搞懂運算符號代表的涵義,Python裡面的符號跟我們認知的不會有太大的差別,但是有一些代表不一樣的意思,就必須搞懂才不會在寫程式時,程式碼的重複性太高,會導致日後的維修性降低。
    Thumbnail
    常常會遇到好不容易寫好程式,但是輸出的時候沒辦法按照自己想要的格式,或是間隔來輸出,這時需要用到的就是格式化輸出,格式化輸出就是調整排版的一個形式。
    Thumbnail
    一、什麼是變數?   變數是指用來代表某一種資料型態的符號,以非數字的符號來表達,可以是英文字母也可以是一個英文單字,不過python有一些英文字母不能被當作變數,我們稱作保留字,例如:False、None、True、and、is、not、or、......,之後會在介紹。