重新命名批處理的python指令碼

2021-09-01 16:48:33 字數 1143 閱讀 8100

採集的視網膜影象放在乙個資料夾下,分類十分混亂,出現了乙個檔案多次出現的情況,因此寫指令碼將copy of ********.bmp或者copy of copy of ********.bmp 此類檔案統一命名為********0.bmp 或者********00.bmp等格式,後面的0的個數代表********.bmp出現的次數+1。

網上有不少[url= 教程[/url]中沒有這樣的例子,收藏一下。

import os

"""來將檔名改名,因為在資料夾裡面有很多copy of 重檔名,因此去掉windows

重新命名風格而換用新的累加命名機制

"""def getfilenames(dirs, dict):

#dir為目錄名,lst列表

filenames=os.listdir(dirs)

for name in filenames:

key = filenames[filenames.index(name)]

sign = "copy of "

judge = key.find(sign)

if (judge != -1 ):

dict[key] = 1

else: #提取其中的真實檔名

truekey= key[-12:] #因為真實的檔名都是在12位

if truekey not in dict: #字典中不存在

dict[truekey]=1

os.rename(dirs+str(os.sep)+name,dirs+str(os.sep)+truekey)

else:

#split finames

newkey= str(truekey[:-4])+str('0'*dict[truekey])+ str(truekey[-3:])

dict[truekey] = dict[truekey]+1

os.rename(dirs+os.sep+name,dirs+os.sep+newkey)

if '__name__=__main__':

dict={}

dirs = "c://temp"

getfilenames(dirs, dict)

用到了字典,用到了os模組,學到了一些東西,呵呵!

重新命名批處理python指令碼

將copy of bmp或者copy of copy of bmp 此類檔案統一命名為 0.bmp 或者 00.bmp等格式,後面的0的個數代表 bmp出現的次數 1。ctwwnky寫了個下面的小指令碼 複製 如下 import os 這個程式是用來將檔名改名,因為在資料夾裡面有很多copy of ...

BAT批處理 檔案重新命名

1.bat重新命名檔案 ren 111.txt 222.doc 解釋 將111.txt 命名為222.doc 2.迴圈重新命名乙個資料夾下的所有結尾為xls的檔案,前加上a for f i in dir b txt do ren i a i 3.在原檔名前面加當前系統日期格式yyyymmdd ech...

python寫批量重新命名指令碼

批量加上字首的指令碼,可供參考 但是我發現將源目錄的檔案修改到目的目錄後,源目錄中的檔案不在了.有什麼函式可以解決嗎?coding utf 8 created on 2014.11.13 author boring2 import os def addprefix prefix,srcdir,des...