Python實現(xiàn)亂序文件重新命名編號
人生苦短,快學(xué)Python!
最近有位讀者朋友遇到了一個小問題,私聊找小五答疑。感覺也會有其他同學(xué)會遇到,所以干脆分享出來。
如下圖所示,在本地文件夾中有這樣一堆視頻文件,在這種情況下并不是亂序的。
但是將其上傳到網(wǎng)盤中后,就會經(jīng)常變成亂序。即它們會按照1、10、11、2、20這樣排序,并不方便我們按順序去依次觀看。
所以我們希望能夠給它們在本地重新命名編號,比如可以按照001、002、003···、020這樣排序,就可以避免上面這種尷尬的情況了。
在Python中,os模塊可以用來自動處理各種文件和目錄,比如復(fù)制、移動、重命名和刪除等操作。
獲取文件列表
在交互式環(huán)境中輸入如下命令:
import os path = os.getcwd() filenames = os.listdir(path) filenames
輸出:
os模塊中的getcwd()函數(shù),使用它可以獲取當(dāng)前工作目錄。os模塊中的listdir()函數(shù),可以返回工作目錄中的所有文件和子目錄。通過這兩個函數(shù),我們就獲取了當(dāng)前工作目錄下的所有文件。
篩選視頻文件
在交互式環(huán)境中輸入如下命令:
file_mp4s = [i for i in filenames if i.split(".")[-1] == "mp4"] file_mp4s
輸出:
這一步驟,是用來篩選文件列表中的所有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)
輸出:
os模塊中的rename()函數(shù),使用它可以重命名文件。
這里還用到一個字符串函數(shù)zfill(),它會返回指定長度的字符串,原字符串右對齊,前面填充0。所以"1".zfill(3)的話,會返回'001'。
這樣,我們就實現(xiàn)了亂序文件的重新命名編號
到此這篇關(guān)于Python實現(xiàn)亂序文件重新命名編號的文章就介紹到這了,更多相關(guān)Python亂序文件重命名內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python3爬蟲中關(guān)于Ajax分析方法的總結(jié)
在本篇文章里小編給大家整理的是一篇關(guān)于Python3爬蟲中關(guān)于Ajax分析方法的總結(jié),需要的朋友們可以學(xué)習(xí)下。2020-07-07基于python實現(xiàn)檢索標(biāo)記敏感詞并輸出
這篇文章主要介紹了基于python實現(xiàn)檢索敏感詞并輸出,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-05-05從入門到精通:Python項目打包與setup.py實戰(zhàn)指南
想要將你的Python項目分享給世界嗎?本指南將帶你從零開始,一步步學(xué)習(xí)如何打包你的Python項目,并創(chuàng)建一個專業(yè)的setup.py文件,我們將分享實用的技巧和最佳實踐,幫助你的項目在Python社區(qū)中脫穎而出,跟著我們的步伐,讓你的項目打包變得輕松有趣!2024-03-03