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

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語言 正文

Python如何對(duì)文件進(jìn)行重命名_python

作者:春風(fēng)化作秋雨 ? 更新時(shí)間: 2022-08-03 編程語言

對(duì)文件進(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')

對(duì)文件夾下文件按順序重命名

在處理機(jī)器學(xué)習(xí)的圖片時(shí),需要將圖片根據(jù)類別放入不同文件夾中,在文件夾下也想將圖片用數(shù)字遞增重命名一下,方便后續(xù)處理。

首先,我們看一下python的重命名函數(shù):

os.rename(src,dst)
  • src:要修改的目錄名
  • dst:修改后的目錄名

如果dst是一個(gè)存在的目錄, 將拋出OSError。

注意:src和dst都是完整路徑+文件名

首先,我們先對(duì)文件夾重命名

先使用最簡(jiǎn)單的方法嘗試一下

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)

效果一樣:

接下來我們對(duì)文件進(jìn)行重命名

上面的三種方法都是可以使用的,只需要稍微改動(dòng)一下,我以函數(shù)enumerate為例演示一下:

先建一個(gè)文本文檔

復(fù)制粘貼一堆,作為測(cè)試用,在函數(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)

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

欄目分類
最近更新