首頁  >  文章  >  後端開發  >  python怎麼重命名文件

python怎麼重命名文件

青灯夜游
青灯夜游原創
2023-03-02 17:24:426715瀏覽

在python中,可以利用os套件的rename()函數來重新命名檔案(目錄),語法“os.rename(src_path,dst_path)”,可將src_path的檔案重新命名為dst_path。因為rename()是os包提供的函數,想要使用該函數需要先引入os包,語法「import os」。

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)

python怎麼重命名文件

#我們就可以看到資料夾已經依照順序重命名了

稍微改動一下,顯得沒有那麼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)

python怎麼重命名文件

#效果是一樣的,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)

效果一樣:

python怎麼重命名文件

#接下來我們對檔案進行重新命名

上面的三種方法都是可以使用的,只需要稍微改動一下,我以函數enumerate為例示範一下:

python怎麼重命名文件

先建立一個文字文件

複製貼上一堆,作為測試用,在函數中加入一個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怎麼重命名文件

#【相關推薦:

Python3影片教學

以上是python怎麼重命名文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn