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)
我們就可以看到文件夾已經(jīng)按照順序重命名了
稍微改動一下,顯得沒有那么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)
代碼都是很簡單的,入門小白,這里列舉的也是最簡單的方法。這些僅為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于Python中request請求得到的response的屬性問題
這篇文章主要介紹了基于Python中request請求得到的response的屬性問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05利用pandas將非數(shù)值數(shù)據(jù)轉(zhuǎn)換成數(shù)值的方式
今天小編就為大家分享一篇利用pandas將非數(shù)值數(shù)據(jù)轉(zhuǎn)換成數(shù)值的方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12VSCode運行或調(diào)試python文件無反應的問題解決
這篇文章主要給大家介紹了關(guān)于VSCode運行或調(diào)試python文件無反應的問題解決,使用VScode編譯運行C/C++沒有問題,但是運行Python的時候出了問題,所以這里給大家總結(jié)下,需要的朋友可以參考下2023-07-07