您好,登錄后才能下訂單哦!
這篇文章主要介紹“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')
在處理機器學習的圖片時,需要將圖片根據類別放入不同文件夾中,在文件夾下也想將圖片用數字遞增重命名一下,方便后續處理。
首先,我們看一下python的重命名函數:
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函數的作用就不再贅述了,我們還可以使用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)
效果一樣:
上面的三種方法都是可以使用的,只需要稍微改動一下,我以函數enumerate為例演示一下:
復制粘貼一堆,作為測試用,在函數中加入一個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怎么對文件進行重命名”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。