溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

使用 Python 遍歷目錄樹(shù)的方法

發(fā)布時(shí)間:2020-10-18 15:09:38 來(lái)源:腳本之家 閱讀:276 作者:deniro 欄目:開(kāi)發(fā)技術(shù)

假設(shè)有這樣一個(gè)任務(wù),希望對(duì)某個(gè)文件夾(包括所有子文件夾與文件)中的所有文件進(jìn)行處理。這就需要遍歷整理目錄樹(shù), 處理遇到的每個(gè)文件。

import os
'''
遍歷目錄樹(shù)
'''
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è)目錄樹(shù)。 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ù)中遍歷所有的文件及文件夾。

函數(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 遍歷目錄樹(shù)的方法的文章就介紹到這了,更多相關(guān)python 遍歷目錄樹(shù)內(nèi)容請(qǐng)搜索億速云以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持億速云!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI