1. 程式人生 > >python的os模組中的os.walk()函式

python的os模組中的os.walk()函式

os.walk('path')函式對於每個目錄返回一個三元組,(dirpath, dirnames, filenames),

第一個是路徑,第二個是路徑下面的目錄,第三個是路徑下面的檔案

如果加引數topdown=False則表示自下而上進行遍歷,預設為topdown=True即自上而下進行遍歷

 

例如對於下面的結構來說

#對於上述結構,os.walk()的結果為
['dir', ['dir1', 'dir2'], ['file1.txt', 'file2.txt']]
['dir\\dir1', ['dir11', 'dir12'], []]
['dir\\dir1\\dir11
', [], ['file111.txt']] ['dir\\dir1\\dir12', [], []] ['dir\\dir2', ['dir21'], ['file21.txt']] ['dir\\dir2\\dir21', [], []] #可通過如下指令碼驗證 import sys l=[] for root,dirs,files in os.walk('dir'): l.append(root) l.append(dirs) l.append(files) print(l) l=[]

結果分析

1.先以給定的目錄作為根目錄進行遍歷,讀取根目錄的資料夾和檔案

2.以根目錄下子目錄為新的根目錄進行遍歷,讀取其下面的資料夾和檔案

3.再以2中得到的子目錄為根目錄進行遍歷,讀取其下面的資料夾和檔案

4.重複3,直至所有子目錄下面沒有子目錄和檔案