使用 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詞庫的補(bǔ)充.rar
文件夾 F:\dicts 中所包含的文件:新牛津英漢雙解大詞典.mdx
文件夾 F:\dicts 中所包含的文件:柯林斯雙解.mdd
文件夾 F:\dicts 中所包含的文件:柯林斯雙解.mdx
文件夾 F:\dicts 中所包含的文件:漢語大詞典(簡體精排).mdx
文件夾 F:\dicts 中所包含的文件:漢語大詞典.mdx
文件夾 F:\dicts 中所包含的文件:美國傳統(tǒng)英漢雙解學(xué)習(xí)詞典.mdx
文件夾 F:\dicts 中所包含的文件:美國傳統(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 中所包含的文件:漢語大詞典.mdx
文件夾 F:\dicts\手機(jī)\dicts 中所包含的文件:美國傳統(tǒng)英漢雙解學(xué)習(xí)詞典.mdx
文件夾 F:\dicts\手機(jī)\dicts 中所包含的文件:美國傳統(tǒng)詞典雙解.mdx
os.walk() 函數(shù)以一個(gè)文件夾路徑作為入?yún)ⅰH缓笪覀兙涂梢栽谝粋€(gè) for 循環(huán)語句中使用 os.walk() 函數(shù),遍歷這個(gè)文件夾的整個(gè)目錄樹。 os.walk() 在每次循環(huán)迭代過程中,會(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ù)簡介
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)文章
優(yōu)化Python代碼使其加快作用域內(nèi)的查找
這篇文章主要介紹了優(yōu)化Python代碼使其加快作用域內(nèi)的搜索,文中介紹了CPython相關(guān)的C代碼來對(duì)查找功能進(jìn)行優(yōu)化,加快搜索的速度,需要的朋友可以參考下2015-03-03
Python實(shí)現(xiàn)EM算法實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于Python實(shí)現(xiàn)EM算法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
解決win10 vscode 無法激活python 虛擬環(huán)境的問題
這篇文章主要介紹了win10 vscode 無法激活python 虛擬環(huán)境的解決辦法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-10-10
django使用F方法更新一個(gè)對(duì)象多個(gè)對(duì)象字段的實(shí)現(xiàn)
這篇文章主要介紹了django使用F方法更新一個(gè)對(duì)象多個(gè)對(duì)象字段的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03
Python Jupyter Notebook顯示行數(shù)問題的解決
這篇文章主要介紹了Python Jupyter Notebook顯示行數(shù)問題的解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02
python編程實(shí)現(xiàn)清理微信重復(fù)緩存文件
這篇文章主要為大家介紹了使用python編程來實(shí)現(xiàn)清理微信重復(fù)緩存文件的示例代碼過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-11-11

