zhaojunhhu
7/6/2016 - 2:55 AM

Python os.walk遍历出某路径下所有文件

Python os.walk遍历出某路径下所有文件

os.walk(top, topdown=True, onerror=None, followlinks=False) 
如果topdown为True,表示从上到下进行遍历,先返回父目录文件路径,再返回子目录文件路径
如果topdown为False, 表示从下到上进行遍历,先返回子目录文件路径,再返回父目录文件路径
可以得到一个三元tupple(dirpath, dirnames, filenames), 
第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件。
dirpath 是一个string,代表目录的路径,
dirnames 是一个list,包含了dirpath下所有子目录的名字。
filenames 是一个list,包含了非目录文件的名字。
这些名字不包含路径信息,如果需要得到全路径,需要使用os.path.join(dirpath, name).
通过for循环自动完成递归枚举
例如:
F:\aaa 目录是这样的文件目录结构
F:\aaa
|--------1.txt
|--------2.txt
|--------3.txt
|--------4
         |-------5.txt
         |-------6.txt
         |-------7.txt
#!/usr/bin/env python
# -*- coding: utf-8 -*-

# os.walk()的使用  
import os  
  
# 枚举dirPath目录下的所有文件  
  
def main():  
#begin  
    fileDir = "F:" + os.sep + "aaa"     # 查找F:\aaa 目录下    
    for root, dirs, files in os.walk(fileDir):  
    #begin  
        print(root)  
        print(dirs)  
        print(files)  
    #end  
    os.system("pause")  
#end  
  
if __name__ == '__main__':  
#begin  
    main()  
#end  
  
  
# 输出  
# F:\aaa  
# ['4']  
# ['1.txt', '2.txt', '3.txt']  
# F:\aaa\4  
# []  
# ['5.txt', '6.txt', '7.txt']