我要第一次看到存储库.config目录中的文件,并停止在子目录中查找。在
这是我的目录树:
./WAS80/base/disk1/ad/repository.config ./WAS80/base/disk1/md/repository.config ./WAS80/base/disk2/ad/repository.config ./WAS80/base/disk3/ad/repository.config ./WAS80/base/disk4/ad/repository.config ./WAS80/base/repository.config./WAS80/fixpack/fp5/repository.config./WAS80/fixpack_suplements/fp5/repository.config ./WAS80/supplements/disk1/ad/repository.config ./WAS80/supplements/disk1/md/repository.config ./WAS80/supplements/disk2/ad/repository.config ./WAS80/supplements/disk3/ad/repository.config ./WAS80/supplements/disk4/ad/repository.config ./WAS80/supplements/repository.config
我需要粗体字的,不要在子目录中查找。在
我开始修改这些代码,但是我搞不懂。在
^{pr2}$
首先,您必须确保
topdown
设置为True
(这是默认设置),这样父目录在子目录之前被扫描。在创建一个
existing
set()
,以记住在成功找到配置文件时所遍历的目录。在然后,当您在列表中找到您的文件名时:
existing
(addos.sep
)中文件的路径,这样就不会匹配以当前目录名开头的目录的子字符串:ex:path\to\dir2
应该被扫描,即使path\to\dir
已经在set
中。但是path\to\dir\subdir
将被成功过滤掉)。在代码:
这应该是您想要的:
每当遇到
'repository.config'
文件时,请将dirs
设置为[]
,以防止{a1}进一步下降到该目录树中。在相关问题 更多 >
编程相关推荐