Python如何對文件進(jìn)行重命名
對文件進(jìn)行重命名
直接貼代碼:
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ī)器學(xué)習(xí)的圖片時(shí),需要將圖片根據(jù)類別放入不同文件夾中,在文件夾下也想將圖片用數(shù)字遞增重命名一下,方便后續(xù)處理。
首先,我們看一下python的重命名函數(shù):
os.rename(src,dst)
src:要修改的目錄名dst:修改后的目錄名
如果dst是一個(gè)存在的目錄, 將拋出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)按照順序重命名了
稍微改動(dò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來進(jìn)行修改:
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)效果一樣:

接下來我們對文件進(jìn)行重命名
上面的三種方法都是可以使用的,只需要稍微改動(dòng)一下,我以函數(shù)enumerate為例演示一下:

先建一個(gè)文本文檔
復(fù)制粘貼一堆,作為測試用,在函數(shù)中加入一個(gè)try-except,防止文件重命名出錯(cuò),這里重命名需要是相同格式的文件,否則就會(huì)報(bào)錯(cuò):
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)
代碼都是很簡單的,入門小白,這里列舉的也是最簡單的方法。這些僅為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
一篇文章帶你了解Python的進(jìn)程,線程和協(xié)程
這篇文章主要為大家介紹了Python的進(jìn)程,線程和協(xié)程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-01-01
Python提取JSON格式數(shù)據(jù)實(shí)戰(zhàn)案例
這篇文章主要給大家介紹了關(guān)于Python提取JSON格式數(shù)據(jù)的相關(guān)資料, Python提供了內(nèi)置的json模塊,用于處理JSON數(shù)據(jù),文中給出了詳細(xì)的代碼示例,需要的朋友可以參考下2023-07-07
OpenCV基于ORB算法實(shí)現(xiàn)角點(diǎn)檢測
這篇文章主要為大家詳細(xì)介紹了OpenCV基于ORB算法實(shí)現(xiàn)角點(diǎn)檢測,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08
在服務(wù)器上安裝python3.8.2環(huán)境的教程詳解
這篇文章主要介紹了在服務(wù)器上安裝python3.8.2環(huán)境的教程詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
Python實(shí)現(xiàn)自動(dòng)化批量調(diào)整Word樣式
在日常工作中,處理大量的Word文檔是一個(gè)常見的任務(wù),尤其是需要批量修改文檔的樣式時(shí),本文為大家介紹了如何使用Python實(shí)現(xiàn)自動(dòng)化批量調(diào)整Word樣式,需要的可以參考下2024-12-12
Pygame實(shí)現(xiàn)游戲最小系統(tǒng)功能詳解
這篇文章主要介紹了Pygame實(shí)現(xiàn)游戲最小系統(tǒng),Pygame是一個(gè)專門用來開發(fā)游戲的 Python 模塊,主要為開發(fā)、設(shè)計(jì) 2D 電子游戲而生,具有免費(fèi)、開源,支持多種操作系統(tǒng),具有良好的跨平臺(tái)性等優(yōu)點(diǎn)2022-11-11

