在python中,可以利用os套件的rename()函數來重新命名檔案(目錄),語法“os.rename(src_path,dst_path)”,可將src_path的檔案重新命名為dst_path。因為rename()是os包提供的函數,想要使用該函數需要先引入os包,語法「import os」。
直接貼程式碼:
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)
效果一樣:
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)#【相關推薦:
Python3影片教學 】
以上是python怎麼重命名文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!