溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python如何實(shí)現(xiàn)亂序文件重新命名編號(hào)

發(fā)布時(shí)間:2022-08-03 16:50:57 來源:億速云 閱讀:177 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“Python如何實(shí)現(xiàn)亂序文件重新命名編號(hào)”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Python如何實(shí)現(xiàn)亂序文件重新命名編號(hào)”吧!

如下圖所示,在本地文件夾中有這樣一堆視頻文件,在這種情況下并不是亂序的。

Python如何實(shí)現(xiàn)亂序文件重新命名編號(hào)

但是將其上傳到網(wǎng)盤中后,就會(huì)經(jīng)常變成亂序。即它們會(huì)按照1、10、11、2、20這樣排序,并不方便我們按順序去依次觀看。

Python如何實(shí)現(xiàn)亂序文件重新命名編號(hào)

所以我們希望能夠給它們?cè)诒镜刂匦旅幪?hào),比如可以按照001、002、003···、020這樣排序,就可以避免上面這種尷尬的情況了。

在Python中,os模塊可以用來自動(dòng)處理各種文件和目錄,比如復(fù)制、移動(dòng)、重命名和刪除等操作。

獲取文件列表

在交互式環(huán)境中輸入如下命令:

import os
path =  os.getcwd()
filenames = os.listdir(path)
filenames

輸出:

Python如何實(shí)現(xiàn)亂序文件重新命名編號(hào)

os模塊中的getcwd()函數(shù),使用它可以獲取當(dāng)前工作目錄。os模塊中的listdir()函數(shù),可以返回工作目錄中的所有文件和子目錄。通過這兩個(gè)函數(shù),我們就獲取了當(dāng)前工作目錄下的所有文件。

篩選視頻文件

在交互式環(huán)境中輸入如下命令:

file_mp4s = [i for i in filenames if i.split(".")[-1] == "mp4"]
file_mp4s

輸出:

Python如何實(shí)現(xiàn)亂序文件重新命名編號(hào)

這一步驟,是用來篩選文件列表中的所有mp4文件。用循環(huán)+條件太繁瑣,而列表生成式則可以用一行語句得到視頻文件。

批量重命名

在交互式環(huán)境中輸入如下命令:

for i in file_mp4s:
   new_name = i.split("-")[0].zfill(3) + "-" + i.split("-")[1]
   os.rename(i,new_name)

輸出:

Python如何實(shí)現(xiàn)亂序文件重新命名編號(hào)

os模塊中的rename()函數(shù),使用它可以重命名文件。

這里還用到一個(gè)字符串函數(shù)zfill(),它會(huì)返回指定長(zhǎng)度的字符串,原字符串右對(duì)齊,前面填充0。所以"1".zfill(3)的話,會(huì)返回'001'。這樣,我們就實(shí)現(xiàn)了亂序文件的重新命名編號(hào)

到此,相信大家對(duì)“Python如何實(shí)現(xiàn)亂序文件重新命名編號(hào)”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI