Python批量修改文件名的方式詳解
批量修改文件名(保留后綴)
這種方法,保留了文件原本的后綴。這里主要演示的是對(duì)圖片名的修改。
# 批量修改文件名 # 批量修改圖片文件名 import os import re import sys path = 'F:\Temp\ZZ' fileList = os.listdir(path) # 待修改文件夾 print("修改前:"+str(fileList)) # 輸出文件夾中包含的文件 currentpath = os.getcwd() # 得到進(jìn)程當(dāng)前工作目錄 os.chdir(path) # 將當(dāng)前工作目錄修改為待修改文件夾的位置 n = 1 # 名稱(chēng)變量 for fileName in fileList: # 遍歷文件夾中所有文件 pat=".+\.(jpg|png|jpeg)" # 匹配文件名正則表達(dá)式 pattern = re.findall(pat,fileName) # 進(jìn)行匹配 os.rename(fileName,(str(n)+'.'+pattern[0])) #文件重新命名 n += 1 # 改變編號(hào),繼續(xù)下一項(xiàng) os.chdir(currentpath) # 改回程序運(yùn)行前的工作目錄 sys.stdin.flush() # 刷新 print("修改后:"+str(os.listdir(path))) #輸出修改后文件夾中包含的文件
批量修改文件名(全改)
這種方法,修改了文件原本的后綴。這里主要演示的是對(duì)圖片的修改。
import os path = 'F:\Temp\ZZ' # 獲取該目錄下所有文件,存入列表中 fileList = os.listdir(path) n = 0 for i in fileList: # 設(shè)置舊文件名(就是路徑+文件名) oldname = path + os.sep + fileList[n] # os.sep添加系統(tǒng)分隔符 # 設(shè)置新文件名 newname = path + os.sep + 'a' + str(n+1) + '.jpg' os.rename(oldname, newname) # 用os模塊中的rename方法對(duì)文件改名 print(oldname, '======>', newname) n += 1
代碼有個(gè)小的注意事項(xiàng)。比如文件名字原本就是a1.jpg, a3.jpg, a6.jpg這樣時(shí),運(yùn)行上述代碼會(huì)報(bào)錯(cuò)。把上面的字母a改成其他的就行了。因?yàn)槲募A下原本就有該名稱(chēng)的文件,而程序在修改名字的時(shí)候,運(yùn)行過(guò)程中就會(huì)出現(xiàn)兩個(gè)同名文件共存的情況。
讀取文件下的所有文件名
import os # 輸出所有的文件夾名和文件名 path = 'F:\Temp\ZZ' dataFileList = os.listdir(path) for i in dataFileList: print(i) # 讀取特定的文件名 txtFile = [] for filename in dataFileList: j = filename.split('.') if len(j)==2: if j[1]=='txt': txtFile.append(filename)
總結(jié)
到此這篇關(guān)于Python批量修改文件名的文章就介紹到這了,更多相關(guān)Python批量修改文件名內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。