python如何按順序批量修改文件名
更新時間:2023年08月17日 08:26:05 作者:Louise喵
這篇文章主要介紹了python如何按順序批量修改文件名問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
python按順序批量修改文件名
在之前批量修改文件名的時候出現(xiàn)的問題是使用os.listdir出現(xiàn)亂序,即修改文件名的時候不按照文件排列的順序,導致了不必要的麻煩。
os.listdir排列的順序是按照例如:1,10,11,2,20,21…的順序想達到的正常順序:1,2,3,4,5…
解決代碼
import os #設定文件路徑 path='C:/Users/Louise喵/Desktop/FOV60/' #獲取該目錄下所有文件,存入列表中 fileList=os.listdir(path) #get_key是sorted函數(shù)用來比較的元素,該處用lambda表達式替代函數(shù)。 get_key = lambda i : int(i.split('.')[0]) new_sort = sorted(fileList, key=get_key) #print(fileList, '\n', new_sort) n = 0 for i in fileList: # 設置舊文件名(就是路徑+文件名) oldname = path + os.sep + new_sort[n] # os.sep添加系統(tǒng)分隔符 # 設置新文件名 newname = path + os.sep + 'p' + str(n + 1)+'.csv' os.rename(oldname, newname) # 用os模塊中的rename方法對文件改名 print(oldname, ' ======> ', newname) n += 1
其中排序的關鍵語句為:
get_key = lambda i : int(i.split('.')[0]) new_sort = sorted(fileList, key=get_key)
split()是一個常用的分隔字符的方法,split(‘.’)[0]表示以 .進行分隔取.前面的內(nèi)容。
運行結(jié)果:
python批量按順序遞增修改文件名代碼(可指定文件名)
如需在文件名添加其它相應字符,修改代碼相應字符部分即可,此方法比較簡單,容易理解。
import os # 設置要重命名的文件夾路徑 folder_path = 'C:/Users/Administrator/Desktop/CR/RGB三通道' # 獲取文件夾中所有文件名 file_names = os.listdir(folder_path) # 設置起始編號 start_num = 1 # 遍歷文件名列表并修改文件名 for file_name in file_names: # 獲取文件名的后綴 file_extension = os.path.splitext(file_name)[1] # 構(gòu)造新的文件名 new_file_name = str(start_num) + file_extension #也可在此處添加相應的字符,有區(qū)別重命名文件 #new_file_name = "相應字符"+str(start_num) + file_extension # 構(gòu)造舊文件的路徑和新文件的路徑 old_file_path = os.path.join(folder_path, file_name) new_file_path = os.path.join(folder_path, new_file_name) # 重命名文件 os.rename(old_file_path, new_file_path) print(f'{file_name}已重命名為{new_file_name}') # 遞增編號 start_num += 1
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python讀取mat(matlab數(shù)據(jù)文件)并實現(xiàn)畫圖
這篇文章主要介紹了Python讀取mat(matlab數(shù)據(jù)文件)并實現(xiàn)畫圖問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12Python對口紅進行數(shù)據(jù)分析來選定情人節(jié)禮物
情人節(jié)送小仙女什么禮物?讓我們來用Python對口紅進行數(shù)據(jù)分析,那個女孩子會拒絕這樣精心挑選的禮物,感興趣的小伙伴快來看看吧2022-02-02