python如何按照自己順序讀出文件名
情景再現(xiàn)
在做一個(gè)批量讀取文件夾txt文件內(nèi)容后,將文件內(nèi)容寫入excel表格的簡(jiǎn)單腳本時(shí)使用到了os.listdir()函數(shù)。
當(dāng)腳本完成后檢查excel表格內(nèi)容時(shí)發(fā)現(xiàn)表格內(nèi)容順序和txt文件順序不一樣,這就導(dǎo)致我剩下的工作全部GG(超級(jí)難受)。
然后就去著手解決python os.listdir()讀出順序亂序問題。
為什么os.listdir()讀出會(huì)亂序?
我也不知道,那位大佬知道了麻煩評(píng)論教教我!?。。?!
解決亂序(即按照自己的要求排序)
首先看一般情況下讀出順序:
files= os.listdir(path) #得到文件夾下的所有文件名稱
讀出的文件順序是:

而在文件夾中所顯示的文件排列順序確實(shí)這樣的:

這個(gè)順序是不是很讓人摸不到頭腦。
該怎么按照我們想要的順序排列呢?
我后來想一想,這讀出來的文件名字不就一列表嘛,我們把這個(gè)列表按我們想要的順序排列好不就可以啦。
我們可以看到文件夾中的排序方式是先按照cache后的數(shù)字排序然后再按照第五個(gè)字母 a,b,s排序。
所以我們就按照這個(gè)方式來排序。
def takeNumber(elem): #獲取cache后面的數(shù)字
pattern = re.compile('cache(.+).txt')
num = int(pattern.findall(elem)[0])
return numfiles= os.listdir(path) #得到文件夾下的所有文件名稱 txts = [] all_data = [] files.sort(key=takeNumber) files.sort(key= lambda x: x[4]) #lambda函數(shù)也叫匿名函數(shù),即,函數(shù)沒有具體的名稱
最后看結(jié)果就是我們想要的順序:

總結(jié)
總而言之,讀出文件的順序可以轉(zhuǎn)化為對(duì)列表的排序。這類排序沒有固定的方法,見招拆招,兵來將擋,水來土掩才是好辦法。
另外,對(duì)于正則表達(dá)式和lambda匿名函數(shù)也要有一定的了解才能做好(別問我是怎么知道的,菜雞落淚)。
以上僅為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python GUI編程之tkinter模塊Toplevel控件實(shí)現(xiàn)搭建父子窗口
這篇文章主要介紹了Python使用tkinter模塊Toplevel控件搭建父子窗口的實(shí)現(xiàn)方法,Tkinter是Python的標(biāo)準(zhǔn)GUI庫,Python使用Tkinter可以快速的創(chuàng)建GUI應(yīng)用程序,用到相關(guān)控件的同學(xué)可以參考下2023-12-12
Python辦公自動(dòng)化之自動(dòng)化文本翻譯詳解
這篇文章主要為大家詳細(xì)介紹了Python辦公自動(dòng)化中自動(dòng)化文本翻譯的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-01-01
python實(shí)現(xiàn)爬蟲抓取小說功能示例【抓取金庸小說】
這篇文章主要介紹了python實(shí)現(xiàn)爬蟲抓取小說功能,結(jié)合具體實(shí)例形式分析了使用Python爬蟲抓取金庸小說的具體操作技巧,需要的朋友可以參考下2019-08-08
python檢測(cè)主機(jī)的連通性并記錄到文件的實(shí)例
今天小編就為大家分享一篇python檢測(cè)主機(jī)的連通性并記錄到文件的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-06-06
Python實(shí)現(xiàn)Gif圖片分解的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用Python語言實(shí)現(xiàn)Gif圖片分解功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起動(dòng)手嘗試一下2022-08-08
Python結(jié)合DeepSeek API實(shí)現(xiàn)PDF轉(zhuǎn)Word的方案
隨著信息化時(shí)代的不斷推進(jìn),PDF和Word文件格式已經(jīng)成為了日常辦公中最常見的文檔格式,在許多工作場(chǎng)景中,我們需要將PDF文件轉(zhuǎn)換成Word格式,本文將介紹如何結(jié)合DeepSeek API與Python,快速實(shí)現(xiàn)一個(gè)PDF轉(zhuǎn)Word的工具,需要的朋友可以參考下2025-02-02
Python編程實(shí)現(xiàn)二分法和牛頓迭代法求平方根代碼
這篇文章主要介紹了Python編程實(shí)現(xiàn)二分法和牛頓迭代法求平方根代碼,具有一定參考價(jià)值,需要的朋友可以了解下。2017-12-12

