美文网首页Python
python os.walk

python os.walk

作者: 卡拉肖克_潘 | 来源:发表于2020-06-17 14:57 被阅读0次

今天在python3.6.8版本上使用os.path.walk发现没有这个模块了,取而代之的是os.walk。

os.walk(top,topdown=True,onerror=None)
top----------表示需要遍历的顶级目录的路径。
topdown------的默认值是“True”表示首先返回顶级目录下的文件,然后再遍历子目录中的文件。
             当topdown的值为"False"时,表示先遍历子目录中的文件,然后再返回顶级目录下的文件。
onerror------默认值为"None",表示忽略文件遍历时的错误。如果不为空,则提供一个自定义函数提示错误信息后继续遍历或抛出异常中止遍历。
返回值:函数返回一个元组,含有三个元素。这三个元素分别是:每次遍历的路径名、路径下子目录列表、目录下文件列表。

下面是用os.walk()写的一个文件搜索例子:

def search(basepath,name):
    for root, dirs, files in os.walk(basepath):
        if name in dirs or name in files:
            root = str(root)
            dirs = str(dirs)
            return os.path.join(root, dirs)
    return -1

不知道为什么os.walk的速度很慢。
用os.listdir递归一个试试:https://blog.csdn.net/sinat_29957455/article/details/82778306

def get_file_path(root_path,file_list,dir_list):
    #获取该目录下所有的文件名称和目录名称
    dir_or_files = os.listdir(root_path)
    for dir_file in dir_or_files:
        #获取目录或者文件的路径
        dir_file_path = os.path.join(root_path,dir_file)
        #判断该路径为文件还是路径
        if os.path.isdir(dir_file_path):
            dir_list.append(dir_file_path)
            #递归获取所有文件和目录的路径
            get_file_path(dir_file_path,file_list,dir_list)
        else:
            file_list.append(dir_file_path)
 
if __name__ == "__main__":
    #根目录路径
    root_path = r"D:\test"
    #用来存放所有的文件路径
    file_list = []
    #用来存放所有的目录路径
    dir_list = []
    get_file_path(root_path,file_list,dir_list)
    print(file_list)
    print(dir_list)

相关文章

  • Python os.walk() 方法

    Python os.walk() 方法 概述 os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,...

  • python os.walk()

    #!/usr/bin/env python #2.py #useUTF-8 #Python3.3.0 #os.wa...

  • python os.walk

    今天在python3.6.8版本上使用os.path.walk发现没有这个模块了,取而代之的是os.walk。 下...

  • python os.walk()

    介绍一种简单遍历数组的方法, 需要注意的是,返回的不是list类型,也不是字典,而是一个classes,复杂的数据...

  • python - os.walk()

    发现了一个很好用的方法去获取当前目录路径、子目录、以及目录下所有文件名,是一个高效处理文件、目录方面的利器。 直接...

  • os-walk|reset_index|slice

    Python中os.walk()的使用方法 - 晓伟的文章 - 知乎https://zhuanlan.zhihu....

  • 输入路径,寻找某个格式结尾的文件

    1.使用python模块查找(格式自己转换) ''' os.walk(path)得到一个generator对象 可...

  • Python: os模块实例详解

    Python基础文章集合请移步。 操作文件 改变目录 遍历目录listdir 遍历os.walk 增删目录 单层目...

  • 忘了“winRAR压缩”这个靓仔吧~

    概述 上次利用 python 中的 os 模块的成功遍历的目录树昨天又学到

  • MachineLearning.1.如何使用ML进行股票投资.D

    参考内容:os.walk()返回文件名排序问题:python pitfall (陷阱)--不同平台os模块文件名排...

网友评论

    本文标题:python os.walk

    本文链接:https://www.haomeiwen.com/subject/pxlsxktx.html