Os.walk
os.walk(top,topdown=True,onerror=None,followlinks=False)
os.walk()是python中內置(built-in)的目錄樹生成(directory tree generator)函數。
對於每一個在top目錄下的子目錄(包括top目錄本身),該函數都會生成一個包含三個元素的元組(tuple): (dirpath, dirnames, filenames)。(string,list,list)
dirpath是目錄名稱(string),dirnames是一個包含dirpath目錄下所有子目錄名稱的列表(list),filenames是一個包含dirpath目錄下所有非目錄的文件名稱(名稱不包括路徑)列表(list)。如果需要獲取文件的整個路徑(從top開始),可以使用os.path.join(dirpath,name);或者使用os.path.abspath(name)獲取文件的完整路徑(在Linux系統下,從"/"開始)。
示例一:
目錄:~/python/flask/demos/template$
使用ls *命令遍歷template目錄,如下:

使用os.walk遍歷當前目錄(.),python首先遍歷當前目錄,打印目錄名稱(.),接着打印目錄下的非目錄文件(file),再以此類推將static等目錄遍歷完成。

完整代碼如下:
import os def walk(cwd = r'D:\PyCharm\python\practice'): for root, dirs, files in os.walk(cwd): # print(root) # 打印當前目錄下的所有子目錄的絕對路徑 # print(dirs) # 打印每個目錄下的子目錄列表 # print(files) # 打印所有目錄下文件列表 print(root) for file in files: print('\t' + file) walk()
但是還有更直觀簡單的方法:使用tree命令
