rad*_*led 5 python os.walk python-2.7
我需要在目录中首次显示repository.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
我需要用粗体显示的内容,然后停止在子目录中查找。
我开始修改此代码,但无法弄清楚。
pattern='repository.config'
path='/opt/was_binaries'
def find_all(name, path):
result = []
for root, dirs, files in os.walk(path):
if name in files:
result.append(os.path.join(root, name))
continue
return result
Run Code Online (Sandbox Code Playgroud)
这应该做你想要的:
import os
res = []
for here, dirs, files in os.walk(startdir, topdown=True):
if 'repository.config' in files:
res.append(os.path.join(here, 'repository.config'))
dirs[:] = []
print(res)
Run Code Online (Sandbox Code Playgroud)
每当遇到'repository.config'文件时,请将设置dirs为[],以防止os.walk进一步下降到该目录树中。