使用python批量修改文件名的方法(視頻合并時(shí))
不知道大家有沒有遇到這樣的情況,比如視頻合并時(shí)文件名沒有按照正常順序排列,像這樣
可見,文件名排序是亂的。這個(gè)樣子合并出來的視頻一定也是亂的。所以得想辦法把文件名修改一下,讓軟件讀取出正確的順序。閑話少說,上代碼。
"""
注意:一、文件名除去擴(kuò)展名必須以 '_' + 數(shù)字 結(jié)尾。
二、convert.py 放在文件目錄。
三、目錄中不能有多余文件
主要算法:
根據(jù)最大數(shù)字的位數(shù)添加0
例如,如果最大數(shù)字為123,那么位數(shù)為3位,
1就要變成001、2變成002、23變成023,依次...
"""
import os
li = []
new_li = [] # 新文件名
null_li = [] # 不標(biāo)準(zhǔn)的文件名
filenames = os.listdir('./')
# 得到數(shù)字的最大位數(shù)
for filename in filenames:
tmp = os.path.splitext(filename)[0] # 得到文件名
if('_' in tmp): # 找到數(shù)字前的標(biāo)志
num = tmp.split('_')[-1]
li.append(num)
else:
null_li.append(filename)
max_len = len(max(li, key=len))
# ~ print(max_len)
# 新文件名
for filename in filenames:
name = os.path.splitext(filename)[:-1] # 得到文件名
name = '_'.join(name)
ext = os.path.splitext(filename)[-1] # 得到擴(kuò)展名
if('_' in name): # 找到數(shù)字前的標(biāo)志
name1 = name.split('_')[:-1]
name1 = '_'.join(name1) #文件名
num = name.split('_')[-1]
quantity = max_len - len(num)
name2 = '0' * quantity + num #數(shù)字名
filename = name1 + '_' + name2 + ext
new_li.append(filename)
# ~ new_li.sort()
# ~ print(filenames)
# ~ print('\n')
# ~ print(new_li)
# 檢查是否有不規(guī)范的文件名
if(len(filenames)-1 != len(new_li)):
null_li.remove('convert.py')
null_li = '、'.join(null_li)
print("error: \""+ null_li + "\" 不以 '_' + 數(shù)字 結(jié)尾。")
exit()
# 修改文件名
i = 0
for oldname in filenames:
if (oldname != 'convert.py'):
os.rename(oldname,new_li[i])
print(oldname,'======>',new_li[i])
i+=1
其中注意事項(xiàng),在上述代碼里也說明了。運(yùn)行成功后,再次查看

可見,視頻已經(jīng)按照順序排列好了。
總結(jié)
以上所述是小編給大家介紹的視頻合并時(shí)使用python批量修改文件名的方,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
Python使用Pandas庫將Excel數(shù)據(jù)疊加生成新DataFrame的操作指南
在日常數(shù)據(jù)處理工作中,我們經(jīng)常需要將不同Excel文檔中的數(shù)據(jù)整合到一個(gè)新的DataFrame中,以便進(jìn)行進(jìn)一步的分析和處理,本文將介紹如何使用Python中的Pandas庫,將多個(gè)Excel文檔中的數(shù)據(jù)疊加形成新的DataFrame,并提供詳細(xì)的操作指南和案例,幫助讀者輕松掌握這一技能2025-01-01
python 使用正則表達(dá)式按照多個(gè)空格分割字符的實(shí)例
今天小編就為大家分享一篇python 使用正則表達(dá)式按照多個(gè)空格分割字符的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12
Python機(jī)器學(xué)習(xí)logistic回歸代碼解析
這篇文章主要介紹了Python機(jī)器學(xué)習(xí)logistic回歸代碼解析,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
Python實(shí)現(xiàn)簡單求解給定整數(shù)的質(zhì)因數(shù)算法示例
這篇文章主要介紹了Python實(shí)現(xiàn)簡單求解給定整數(shù)的質(zhì)因數(shù)算法,結(jié)合實(shí)例形式分析了Python正整數(shù)分解質(zhì)因數(shù)的相關(guān)操作技巧,需要的朋友可以參考下2018-03-03

