【发布时间】:2022-10-15 01:58:51
【问题描述】:
我在一个文件夹中有一些具有类似命名约定的图像。
例子:
- “Large_Blue_Ocean_Split_0_1.png”
- “Large_Blue_Ocean_Split_0_2.png”
- “Large_Blue_Ocean_Split_0_3.png”
- “Large_Blue_Ocean_Split_1_1.png”
- “Great_White_Shark_Split_0_1.png”
- “Great_White_Shark_Split_0_2.png”
- “Great_White_Shark_Split_0_3.png”
我遍历文件夹以获取图像,并尝试对字符串(即图像名称)进行子集化,这样我将拥有:
- “Split_0_1.png”
- “Split_0_2.png”
- “Split_0_3.png”
- “Split_1_1.png” 如果图像是“Large_Blue_Ocean”,然后将其全部放入列表中。
我尝试手动执行此操作,例如“Large_Blue_Ocean_Split_0_1.png”[:-13] 并且它有效,尽管我仍然认为不使用“幻数”(即 13)对我来说这样做是一个好习惯。我在下面包含了我的代码:
from pathlib import Path
directory_in_str = "images/"
image_name = "Large_Blue_Ocean"
image_list = []
pathlist = Path(directory_in_str).glob(f'{image_name}*')
for path in pathlist:
path_in_str = str(path)
print(path_in_str)
image_list.append(path_in_str[:-13])
非常感谢任何帮助谢谢!
此外,图像名称的词干(即我感兴趣的部分)总是有“Split...”或“split...”。如果这有帮助。
【问题讨论】:
标签: python python-3.x regex path