使用 Python 遍歷目錄樹的方法
假設(shè)有這樣一個(gè)任務(wù),希望對(duì)某個(gè)文件夾(包括所有子文件夾與文件)中的所有文件進(jìn)行處理。這就需要遍歷整理目錄樹, 處理遇到的每個(gè)文件。
import os ''' 遍歷目錄樹 ''' for folder_name,sub_folders,filenames in os.walk('F:\\dicts'): print('當(dāng)前文件夾:'+folder_name) for sub_folder in sub_folders: print('所包含的子文件夾:'+sub_folder) for filename in filenames: print('文件夾 %s 中所包含的文件:%s' %(folder_name,filename)) print('')
運(yùn)行結(jié)果:
當(dāng)前文件夾:F:\dicts
所包含的子文件夾:手機(jī)
文件夾 F:\dicts 中所包含的文件:865523a5180df385363cc89ebd0eca6b.apk
文件夾 F:\dicts 中所包含的文件:LDOCE5.mdd
文件夾 F:\dicts 中所包含的文件:LDOCE5.mdx
文件夾 F:\dicts 中所包含的文件:sound_us.mdd
文件夾 F:\dicts 中所包含的文件:奶爸1.6G.zip
文件夾 F:\dicts 中所包含的文件:奶爸1.6GMdict詞庫(kù)的補(bǔ)充.rar
文件夾 F:\dicts 中所包含的文件:新牛津英漢雙解大詞典.mdx
文件夾 F:\dicts 中所包含的文件:柯林斯雙解.mdd
文件夾 F:\dicts 中所包含的文件:柯林斯雙解.mdx
文件夾 F:\dicts 中所包含的文件:漢語(yǔ)大詞典(簡(jiǎn)體精排).mdx
文件夾 F:\dicts 中所包含的文件:漢語(yǔ)大詞典.mdx
文件夾 F:\dicts 中所包含的文件:美國(guó)傳統(tǒng)英漢雙解學(xué)習(xí)詞典.mdx
文件夾 F:\dicts 中所包含的文件:美國(guó)傳統(tǒng)詞典雙解.mdx
當(dāng)前文件夾:F:\dicts\手機(jī)
所包含的子文件夾:dicts當(dāng)前文件夾:F:\dicts\手機(jī)\dicts
文件夾 F:\dicts\手機(jī)\dicts 中所包含的文件:sound_us.mdd
文件夾 F:\dicts\手機(jī)\dicts 中所包含的文件:新牛津英漢雙解大詞典.mdx
文件夾 F:\dicts\手機(jī)\dicts 中所包含的文件:漢語(yǔ)大詞典.mdx
文件夾 F:\dicts\手機(jī)\dicts 中所包含的文件:美國(guó)傳統(tǒng)英漢雙解學(xué)習(xí)詞典.mdx
文件夾 F:\dicts\手機(jī)\dicts 中所包含的文件:美國(guó)傳統(tǒng)詞典雙解.mdx
os.walk() 函數(shù)以一個(gè)文件夾路徑作為入?yún)?。然后我們就可以在一個(gè) for 循環(huán)語(yǔ)句中使用 os.walk() 函數(shù),遍歷這個(gè)文件夾的整個(gè)目錄樹。 os.walk() 在每次循環(huán)迭代過(guò)程中,會(huì)返回 3個(gè)值:
- 當(dāng)前文件夾的名稱,字符串形式 。
- 當(dāng)前文件夾中子文件夾名稱列表 。
- 當(dāng)前文件夾中文件的名稱列表。
當(dāng)前文件夾指的是 for 循環(huán)內(nèi)當(dāng)前迭代的文件夾。注意: 程序的當(dāng)前工作目錄,不會(huì)因?yàn)?os.walk() 而改變。
ps:下面給大家介紹下Python os.walk() 函數(shù)
函數(shù)簡(jiǎn)介
os.walk() 函數(shù)用于在目錄樹中遍歷所有的文件及文件夾。
函數(shù)輸入輸出及使用格式
輸入:遍歷地址path
輸出:正在遍歷的地址本身root、該地址下所有目錄的名稱dirs(list)、該地址下所有文件files(list)
使用格式:
'''
root, dirs, files = os.walk(path)
'''
可調(diào)參數(shù)
topdown = True or False (True優(yōu)先遍歷上層目錄top,F(xiàn)alse優(yōu)先遍歷底層目錄down)
onerror=None (默認(rèn)None,需要一個(gè)調(diào)用對(duì)象,當(dāng) walk 需要異常時(shí),會(huì)調(diào)用
followlinks = True or False(默認(rèn)False,如果是True,則會(huì)遍歷目錄下的快捷方式實(shí)際所指的目錄)
總結(jié)
到此這篇關(guān)于使用 Python 遍歷目錄樹的方法的文章就介紹到這了,更多相關(guān)python 遍歷目錄樹內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python庫(kù)學(xué)習(xí)Tkinter制作GUI個(gè)性簽名設(shè)計(jì)軟件
Tkinter 是 Python 中的標(biāo)準(zhǔn) GUI 庫(kù),使用 Tkinter 可以快速地創(chuàng)建 GUI 應(yīng)用程序。今天我們打算再用一個(gè)小案例,帶大家加深對(duì)Tkinter的理解2021-09-09Python pytesseract驗(yàn)證碼識(shí)別庫(kù)用法解析
這篇文章主要介紹了Python pytesseract驗(yàn)證碼識(shí)別庫(kù)用法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06Python實(shí)現(xiàn)CNN的多通道輸入實(shí)例
今天小編就為大家分享一篇Python實(shí)現(xiàn)CNN的多通道輸入實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01如何解決pytorch訓(xùn)練過(guò)程中CPU內(nèi)存溢出問(wèn)題
這篇文章主要介紹了如何解決pytorch訓(xùn)練過(guò)程中CPU內(nèi)存溢出問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09python實(shí)現(xiàn)梯度法 python最速下降法
這篇文章主要為大家詳細(xì)介紹了python梯度法,最速下降法的原理,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03python實(shí)現(xiàn)的發(fā)郵件功能示例
這篇文章主要介紹了python實(shí)現(xiàn)的發(fā)郵件功能,結(jié)合實(shí)例形式分析了Python使用網(wǎng)易郵箱發(fā)送郵件的相關(guān)操作技巧,需要的朋友可以參考下2019-09-09