您好,登錄后才能下訂單哦!
這篇文章主要介紹“Python怎么對文件進行重命名”,在日常操作中,相信很多人在Python怎么對文件進行重命名問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python怎么對文件進行重命名”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
直接貼代碼:
import os
srcFile = './actwork/linkFile/allExtLinks - 副本.txt' dstFile = './actwork/linkFile/allExtLinks - copy.txt' try: os.rename(srcFile,dstFile) except Exception as e: print(e) print('rename file fail\r\n') else: print('rename file success\r\n')
在處理機器學習的圖片時,需要將圖片根據(jù)類別放入不同文件夾中,在文件夾下也想將圖片用數(shù)字遞增重命名一下,方便后續(xù)處理。
首先,我們看一下python的重命名函數(shù):
os.rename(src,dst)
src
:要修改的目錄名
dst
:修改后的目錄名
如果dst是一個存在的目錄, 將拋出OSError。
注意:src和dst都是完整路徑+文件名
首先,我們先對文件夾重命名
import os def myrename(path): file_list=os.listdir(path) i=0 for fi in file_list: old_name=os.path.join(path,fi) new_name=os.path.join(path,str(i)) os.rename(old_name,new_name) i+=1 if __name__=="__main__": path="D:/test/121" myrename(path)
稍微改動一下,顯得沒有那么low
import os def myrename(path): file_list=os.listdir(path) for i,fi in enumerate(file_list): old_name=os.path.join(path,fi) new_name=os.path.join(path,"N0."+str(i)) os.rename(old_name,new_name) if __name__=="__main__": path="D:/test/121" myrename(path)
效果是一樣的,enumerate函數(shù)的作用就不再贅述了,我們還可以使用python zip來進行修改:
import os def myrename(path): file_list=os.listdir(path) for i,fi in zip(range(len(file_list)),file_list): old_name=os.path.join(path,fi) new_name=os.path.join(path,"The."+str(i)) os.rename(old_name,new_name) if __name__=="__main__": path="D:/test/121" myrename(path)
效果一樣:
上面的三種方法都是可以使用的,只需要稍微改動一下,我以函數(shù)enumerate為例演示一下:
復制粘貼一堆,作為測試用,在函數(shù)中加入一個try-except,防止文件重命名出錯,這里重命名需要是相同格式的文件,否則就會報錯:
import os def myrename(path): file_list=os.listdir(path) for i,fi in enumerate(file_list): old_dir=os.path.join(path,fi) filename="my"+str(i+1)+"."+str(fi.split(".")[-1]) new_dir=os.path.join(path,filename) try: os.rename(old_dir,new_dir) except Exception as e: print(e) print("Failed!") else: print("SUcess!") if __name__=="__main__": path="D:/test/121" myrename(path)
到此,關于“Python怎么對文件進行重命名”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。