获取匹配模式的所有子目录



我使用的是Python 3.7.7。

我有这样的代码,可以获得所有的子目录:

from pathlib import Path
# Get all subdirectories.
p = Path(root_path)
dir_lst = [str(x) for x in p.iterdir() if x.is_dir()]

但现在我需要获取所有子目录,这些子目录的名称以Challen_2013*这样的模式开头。

我该怎么做?

您可以像前面的答案一样使用glob,也可以只使用startswith来过滤结果:

[str(x) for x in p.iterdir() if x.is_dir() if x.name.startswith("Challen_2013")]

您可能想要使用glob:

import glob
files = glob.glob(f"root_path/{Challen_2013*}")
for file in files:
# do stuff

有点脏,但很简单

[str(x) for x in p.iterdir() if x.is_dir() and str(x).startswith('Challen_2013')]

最新更新