【问题标题】:Python os.walk skip directories with specific name instead of pathPython os.walk 跳过具有特定名称而不是路径的目录
【发布时间】:2016-12-20 02:02:45
【问题描述】:

所以我有一个文件系统,我希望能够使用 python 检查和更新。我的解决方案是 os.walk,但它对我的需求和文件系统产生了问题。这是目录的布局方式:

Root
dir1
    subdir
        1
        2
        3...
    file1
    file2
dir2
    subdir
        1
        2
        3...
    file1
    file2
...

主目录有不同的名称,因此是“dir1”和“dir2”,但其中的目录具有相同的名称,并且包含许多不同的文件和目录。子目录是我想从 os.walk 中排除的目录,因为它们添加了不必要的计算。

有没有办法根据目录的名称而不是路径从 os.walk 中排除目录,或者我需要做其他事情吗?

【问题讨论】:

    标签: python os.walk


    【解决方案1】:

    os.walk 允许你修改它给你的目录列表。如果你取出一些,它就不会进入那些目录。

    for dirpath, dirnames, filenames in os.walk("/root/path"):
        if "subdir" in dirnames:
            dirnames.remove("subdir")
        # process the files here
    

    (请注意,如果您使用自下而上的扫描样式,这将不起作用。自上而下的样式是默认样式。)

    See the documentation

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-06
    • 2015-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多