使用 Python 遍歷目錄樹的方法
假設(shè)有這樣一個任務(wù),希望對某個文件夾(包括所有子文件夾與文件)中的所有文件進行處理。這就需要遍歷整理目錄樹, 處理遇到的每個文件。
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('')
運行結(jié)果:
當(dāng)前文件夾:F:\dicts
所包含的子文件夾:手機
文件夾 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詞庫的補充.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\手機
所包含的子文件夾:dicts當(dāng)前文件夾:F:\dicts\手機\dicts
文件夾 F:\dicts\手機\dicts 中所包含的文件:sound_us.mdd
文件夾 F:\dicts\手機\dicts 中所包含的文件:新牛津英漢雙解大詞典.mdx
文件夾 F:\dicts\手機\dicts 中所包含的文件:漢語大詞典.mdx
文件夾 F:\dicts\手機\dicts 中所包含的文件:美國傳統(tǒng)英漢雙解學(xué)習(xí)詞典.mdx
文件夾 F:\dicts\手機\dicts 中所包含的文件:美國傳統(tǒng)詞典雙解.mdx
os.walk() 函數(shù)以一個文件夾路徑作為入?yún)?。然后我們就可以在一個 for 循環(huán)語句中使用 os.walk() 函數(shù),遍歷這個文件夾的整個目錄樹。 os.walk() 在每次循環(huán)迭代過程中,會返回 3個值:
- 當(dāng)前文件夾的名稱,字符串形式 。
- 當(dāng)前文件夾中子文件夾名稱列表 。
- 當(dāng)前文件夾中文件的名稱列表。
當(dāng)前文件夾指的是 for 循環(huán)內(nèi)當(dāng)前迭代的文件夾。注意: 程序的當(dāng)前工作目錄,不會因為 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 (默認None,需要一個調(diào)用對象,當(dāng) walk 需要異常時,會調(diào)用
followlinks = True or False(默認False,如果是True,則會遍歷目錄下的快捷方式實際所指的目錄)
總結(jié)
到此這篇關(guān)于使用 Python 遍歷目錄樹的方法的文章就介紹到這了,更多相關(guān)python 遍歷目錄樹內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
優(yōu)化Python代碼使其加快作用域內(nèi)的查找
這篇文章主要介紹了優(yōu)化Python代碼使其加快作用域內(nèi)的搜索,文中介紹了CPython相關(guān)的C代碼來對查找功能進行優(yōu)化,加快搜索的速度,需要的朋友可以參考下2015-03-03
解決win10 vscode 無法激活python 虛擬環(huán)境的問題
這篇文章主要介紹了win10 vscode 無法激活python 虛擬環(huán)境的解決辦法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-10-10
django使用F方法更新一個對象多個對象字段的實現(xiàn)
這篇文章主要介紹了django使用F方法更新一個對象多個對象字段的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
Python Jupyter Notebook顯示行數(shù)問題的解決
這篇文章主要介紹了Python Jupyter Notebook顯示行數(shù)問題的解決方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02
python編程實現(xiàn)清理微信重復(fù)緩存文件
這篇文章主要為大家介紹了使用python編程來實現(xiàn)清理微信重復(fù)緩存文件的示例代碼過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-11-11

