topdown 相关问题


Python 通配以匹配 find 的“-print -quit”行为

我有几个任意深度的目录,每个目录都包含一个具有一致名称的文件。在命令行中,我可以使用 find -name -print -quit 进行优化... 我有一些任意深度的目录,每个目录都包含一个具有一致名称的文件。在命令行中,我可以使用 find <dir> -name <filename> -print -quit 进行优化搜索:一旦找到文件,它就会停止查找目录。我可以做到这一点,因为它找到了我正在寻找的东西。 我可以使用 glob (或者我想是 os.walk)来做同样的事情。但是,一旦找到我要查找的文件,这两个选项似乎都无法停止:无论如何,它们都会索引完整目录 - globbing 会查找尽可能多的匹配项,而 os.walk 只允许我索引完成后进行过滤。 有没有办法在 Python 中获得优化的 find 行为,而不是在子进程中执行 find? 如果您使用 topdown=True 选项(默认),它不会首先生成整个层次结构;生成器一次返回一个目录。这允许您就地更改 os.walk() 值以防止其下降到某些子目录,并且还允许您尽早跳出循环。


© www.soinside.com 2019 - 2024. All rights reserved.