如何在目录中搜索符合条件的文件



在一个目录中,我正在搜索满足特定条件的文件。我使用的是另一篇stackoverflow帖子提供的代码,但它让我陷入了一个无限循环,原因是我看不见。

我遍历子目录中的目录。然后,我遍历子目录中的子目录,寻找满足条件的子目录。这是我的代码:

import os
rootdir ="/mnt/data/SHAVE_cases"
cases = []
for subdirs, dirs, files in os.walk(rootdir):
for subdir in subdirs:
print("1")
# now we are in the file subdirectory. 
# we need to see if these subsubdirectories start with "multi"
for subdirs2, d, f in os.walk(rootdir + subdir):
for s in subdirs2:
if s.startswith("multi"):
cases.append(s)

以下是遵循msi 建议的另一个代码

for pathname, subdirs, files in os.walk(rootdir):
for subdir in subdirs:
for path, sub, f in os.walk(rootdir + subdir):
print(sub)

它仍然返回一个无限循环。

我用这个问题的答案解决了这个问题。

要在子目录中搜索名称,我们使用find_dir((。

import os
def find_dir(name, start):
for root, dirs, files in os.walk(start):
for d in dirs:
if d == name:
return os.path.abspath(os.path.join(root, d))

我已经完全更改了代码。下面是它的一部分,所以您可以看到find_dir((的作用。

for key in dictionary:
name = "goal_dir"

if find_dir(name, key) != None:
# perform analysis on the directory

相关内容

  • 没有找到相关文章

最新更新