提供多个参数以使用python

时间:2018-10-22 09:27:36

标签: python

我有一个类方法,必须将图像路径作为参数传递给该方法, 方法看起来像这样

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作为参数,但是我不确定是否可行。

任何建议都会有所帮助。

1 个答案:

答案 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)
)