Python遍历目录文件的两种方法

来源:互联网 发布:淘宝阿正书店 编辑:程序博客网 时间:2024/06/08 06:02

方法一:递归法

1
2
3
4
5
6
7
8
import os
def displayDir2(dir):
    for i in os.listdir(dir):
        file = os.path.join(dir,i)
        if os.path.isdir(file):
            displayDir2(file)
        else:
            print file

方法二:os模块内置的walk()方法

1
2
3
4
5
6
import os
def displayDir(dir):
    yid = os.walk(dir)
    for rootDir,pathList,fileList in yid:
        for file in fileList:
            print os.path.join(rootDir,file)

递归法的方法一比较直观,容易理解。而方法二:
1、os.walk() 是一个生成器(generator)函数,使用它将创建一个可迭代的对象;
2、每次循环迭代则产生一个包含三个元素的元组,分别是:路径名、目录列表、文件列表;
3、walk的完整声明:walk(top,topdown=True,onerror=None),top是要目录路径,topdown=True表示先遍历根目录再遍历子目录(默认方式),False则反之;onerror=None表示忽略遍历时产生的错误,或者指定一个自定义的函数处理错误信息!

原创粉丝点击