在我的代码中,我打开了一堆Image
个像这样的对象:
image1 = Image.open(path + '\\my_image_1.png')
image2 = Image.open(path + '\\my_image_2.png')
image3 = Image.open(path + '\\my_image_3.png')
image4 = Image.open(path + '\\my_image_4.png')
image5 = Image.open(path + '\\my_image_5.png')
但这样做无法迭代Image
循环中的for
个对象。
我怎么能:
1)创建一个Image
个对象数组,然后才能在for
循环中使用它们?或者如果不可能:
2)以另一种方式在for
循环中逐步浏览上面的图像对象?
干杯。
答案 0 :(得分:2)
有几种方法,伊格纳西奥建议的方式可能是最优雅的。您也可以执行类似
的操作images = []
images.append(Image.open(path + '\\my_image_1.png'))
images.append(Image.open(path + '\\my_image_2.png'))
如果您有许多大尺寸的图像,如果一次打开会占用太多内存,您可能还会考虑不制作图像数组,而是制作路径数组。然后你可以在for循环中单独打开图像
base = "my_path"
paths = [os.path.join(base, 'my_image_%d.png' % x) for x in range(1, 6)]
for path in paths:
image = Image.open(path)
# do something with the image
答案 1 :(得分:1)
images = [Image.open(os.path.join(path, 'my_image_%d.png' % x)) for x in range(1, 6)]