我使用的是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')]