Python批量修改文件名的方式詳解
批量修改文件名(保留后綴)
這種方法,保留了文件原本的后綴。這里主要演示的是對圖片名的修改。
# 批量修改文件名 # 批量修改圖片文件名 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 # 名稱變量 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 # 改變編號,繼續(xù)下一項 os.chdir(currentpath) # 改回程序運行前的工作目錄 sys.stdin.flush() # 刷新 print("修改后:"+str(os.listdir(path))) #輸出修改后文件夾中包含的文件
批量修改文件名(全改)
這種方法,修改了文件原本的后綴。這里主要演示的是對圖片的修改。
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方法對文件改名 print(oldname, '======>', newname) n += 1
代碼有個小的注意事項。比如文件名字原本就是a1.jpg, a3.jpg, a6.jpg這樣時,運行上述代碼會報錯。把上面的字母a改成其他的就行了。因為文件夾下原本就有該名稱的文件,而程序在修改名字的時候,運行過程中就會出現(xiàn)兩個同名文件共存的情況。
讀取文件下的所有文件名
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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解析Pytorch中的torch.gather()函數(shù)
本文給大家介紹了Pytorch中的torch.gather()函數(shù),通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2021-11-11