我有一个类方法,必须将图像路径作为参数传递给该方法, 方法看起来像这样
self.add_image(
"nucleas",
image_id=image_id,
path=os.path.join(dataset_dir, image_id, "images/{}.jpg".format(image_id)))
但是我的文件夹同时包含jpg和jpeg图像,可以通过它提供jpg / jpeg等选项。
我当时在考虑使用try
/ except
作为参数,但是我不确定是否可行。
任何建议都会有所帮助。
答案 0 :(得分:1)
无法为Path
模块提供一系列扩展名,并选择正确的扩展名。
我建议编写一些辅助函数以获取正确的路径:
def get_image_path(dataset_dir, image_id):
jpg_path = os.path.join(dataset_dir, image_id, "images/{}.jpg".format(image_id)
if jpg_path.exists():
return jpg_path
jpeg_path = os.path.join(dataset_dir, image_id, "images/{}.jpeg".format(image_id)
if jpeg_path.exists():
return jpeg_path
# Neither path exists, maybe raise an exception? Or just return None
然后在您现有的代码中:
self.add_image(
"nucleas",
image_id=image_id,
path=get_image_path(dataset_dir, image_id)
)