我正在编写一个脚本,该脚本会下降到目录树中(使用os.walk()),然后访问与某个文件扩展名匹配的每个文件。但是,由于我的工具将使用的某些目录树还包含子目录,这些子目录又包含很多无用的(出于此脚本的目的)内容,因此我想为用户添加一个选项以指定从遍历中排除的目录列表。
使用os.walk()很简单。毕竟,由我决定是我实际上是要访问os.walk()生成的相应文件/目录还是仅跳过它们。问题是,如果我有例如这样的目录树:
root--
|
--- dirA
|
--- dirB
|
--- uselessStuff --
|
--- moreJunk
|
--- yetMoreJunk
而且我想排除uselessStuff及其所有子项,os.walk()仍会进入uselessStuff的所有(可能成千上万个)子目录中,不用说,这会大大降低速度。在理想的世界中,我可以告诉os.walk()甚至不必费心再产生更多的uselessStuff子级,但是据我所知,这是没有办法的(是吗?)。
有人有主意吗?也许有一个第三方库提供了类似的东西?
dirs[:] =呢