Os.walk
os.walk(top,topdown=True,οnerrοr=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命令