Python模块 os.walk

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:PyCharmpythonpractice'):
    for root, dirs, files in os.walk(cwd):
        # print(root)  # 打印当前目录下的所有子目录的绝对路径
        # print(dirs)  # 打印每个目录下的子目录列表
        # print(files)  # 打印所有目录下文件列表
        print(root)
        for file in files:
            print('	' + file)


walk()

但是还有更直观简单的方法:使用tree命令

 

Resistance is Futile!
原文地址:https://www.cnblogs.com/noonjuan/p/10367489.html