python如何按順序批量修改文件名
python按順序批量修改文件名
在之前批量修改文件名的時(shí)候出現(xiàn)的問題是使用os.listdir出現(xiàn)亂序,即修改文件名的時(shí)候不按照文件排列的順序,導(dǎo)致了不必要的麻煩。
os.listdir排列的順序是按照例如:1,10,11,2,20,21…的順序想達(dá)到的正常順序:1,2,3,4,5…
解決代碼
import os
#設(shè)定文件路徑
path='C:/Users/Louise喵/Desktop/FOV60/'
#獲取該目錄下所有文件,存入列表中
fileList=os.listdir(path)
#get_key是sorted函數(shù)用來比較的元素,該處用lambda表達(dá)式替代函數(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:
# 設(shè)置舊文件名(就是路徑+文件名)
oldname = path + os.sep + new_sort[n] # os.sep添加系統(tǒng)分隔符
# 設(shè)置新文件名
newname = path + os.sep + 'p' + str(n + 1)+'.csv'
os.rename(oldname, newname) # 用os模塊中的rename方法對(duì)文件改名
print(oldname, ' ======> ', newname)
n += 1其中排序的關(guān)鍵語句為:
get_key = lambda i : int(i.split('.')[0])
new_sort = sorted(fileList, key=get_key)split()是一個(gè)常用的分隔字符的方法,split(‘.’)[0]表示以 .進(jìn)行分隔取.前面的內(nèi)容。
運(yùn)行結(jié)果:


python批量按順序遞增修改文件名代碼(可指定文件名)
如需在文件名添加其它相應(yīng)字符,修改代碼相應(yīng)字符部分即可,此方法比較簡(jiǎn)單,容易理解。
import os
# 設(shè)置要重命名的文件夾路徑
folder_path = 'C:/Users/Administrator/Desktop/CR/RGB三通道'
# 獲取文件夾中所有文件名
file_names = os.listdir(folder_path)
# 設(shè)置起始編號(hào)
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
#也可在此處添加相應(yīng)的字符,有區(qū)別重命名文件
#new_file_name = "相應(yīng)字符"+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}')
# 遞增編號(hào)
start_num += 1總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python讀取mat(matlab數(shù)據(jù)文件)并實(shí)現(xiàn)畫圖
這篇文章主要介紹了Python讀取mat(matlab數(shù)據(jù)文件)并實(shí)現(xiàn)畫圖問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
opencv3/C++ 平面對(duì)象識(shí)別&透視變換方式
今天小編就為大家分享一篇opencv3/C++ 平面對(duì)象識(shí)別&透視變換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-12-12
對(duì)pandas進(jìn)行數(shù)據(jù)預(yù)處理的實(shí)例講解
下面小編就為大家分享一篇對(duì)pandas進(jìn)行數(shù)據(jù)預(yù)處理的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-04-04
Python對(duì)口紅進(jìn)行數(shù)據(jù)分析來選定情人節(jié)禮物
情人節(jié)送小仙女什么禮物?讓我們來用Python對(duì)口紅進(jìn)行數(shù)據(jù)分析,那個(gè)女孩子會(huì)拒絕這樣精心挑選的禮物,感興趣的小伙伴快來看看吧2022-02-02
深入理解python對(duì)json的操作總結(jié)
Json最廣泛的應(yīng)用是作為AJAX中web服務(wù)器和客戶端的通訊的數(shù)據(jù)格式,本篇文章主要介紹了python對(duì)json的操作總結(jié),具有一定的參考價(jià)值,有興趣的可以了解一下。2017-01-01
Python queue隊(duì)列原理與應(yīng)用案例分析
這篇文章主要介紹了Python queue隊(duì)列原理與應(yīng)用,結(jié)合具體案例形式分析了Python queue隊(duì)列的原理、功能、實(shí)現(xiàn)方法與使用技巧,需要的朋友可以參考下2019-09-09
Django中對(duì)通過測(cè)試的用戶進(jìn)行限制訪問的方法
這篇文章主要介紹了Django中對(duì)通過測(cè)試的用戶進(jìn)行限制訪問的方法,Django是眾多Python高人氣web框架中最為著名的一個(gè),需要的朋友可以參考下2015-07-07

