日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Python如何對文件進行重命名_python

作者:春風化作秋雨 ? 更新時間: 2022-08-03 編程語言

對文件進行重命名

直接貼代碼:?

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)

原文鏈接:https://adong.blog.csdn.net/article/details/89316031

欄目分類
最近更新