根据输入参数查找特定目录的有效方法?

Efficient way of finding a specific directory based on input parameters?

给定两个参数,123abc,我可以唯一标识以下形式的目录:

\path\to\unique_123\directory_abc

但是、"unique" 和"directory" 会因文件夹而异。我想创建一个函数 func(123, abc) returns \path\to\unique_123\directory_abc.

有没有比使用 os.walk 更有效的方法来完成这个?

如果您想查看文件夹中有哪些目录,请使用:

os.listdir("/path/to/folder")

使用它,您可以获得子文件夹的名称。

如果您在其中看到 unique_123 之类的文件夹,您可以在字符串上使用 `rstrip("1234567890") 去除文件夹名称末尾的数字,假设文件夹名称以结尾在数字中,你需要替换它们。

可能你想要:

import glob

matches = glob.glob('**/*_%s/*_%s' % ('123', 'abc'), recursive=True)
assert len(matches) == 1
print(matches[0])

但是如果你真的不需要它,请避免recursive,它通常会很慢!如果你真的 需要它,我可能会 shell 到 find(1),后者更擅长这种事情。