【发布时间】:2020-10-21 19:03:57
【问题描述】:
假设我有一个文件名,如:D_Passaic_F01_NBR_E0003.tif 那是在我使用 Python 迭代的文件夹中。假设我想获取 E0001 和 E0010 之间的所有文件。我可能会列出如下列表:select_libr = ['E0001', 'E0002', 'E0003', 'E0003', 'E0005', 'E0006', 'E0007', 'E0008', 'E0009', 'E0010']。使用这个列表,我如何检查文件名是否会遍历目录以提取那些关键文件?
for filename in os.listdir(directory):
if (filename.startswith("D_")) and (filename.endswith(".tif") or filename.endswith(".tiff")):
print(os.path.join(directory, filename))
else:
continue
我想做的是:...and (item in select_libr in filename),但我不确定这里的语法是否正确。有什么建议吗?
【问题讨论】:
-
我试过:` if (re.fullmatch(r"D_.*_(E\d{4})\.tif", filename)): print(os.path.join(directory , filename))`,但这只是打印了所有内容。
-
对不起,我没有正确阅读。
r"D_.*_(E00(?:10|0\d))\.tiff?"有效吗?
标签: python-3.x loops substring