如何解决获取与模式匹配的所有子目录
我正在使用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:
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")]
,
有点脏,但是很简单
[str(x) for x in p.iterdir() if x.is_dir() and str(x).startswith('Challen_2013')]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。