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

2024-04-27 02:30:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用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*的模式开头

我怎么做


Tags: path代码infromimportforgetdir
3条回答

有点脏,但很简单

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

您可能想使用glob:

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

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

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

相关问题 更多 >