我正在尝试编写一个函数来迭代 python 中的图像列表,以便 Pillow 图像处理可以访问它们。
ImTestA = Image.open("A.png")
ImTestB = Image.open("B.png")
ImTestC = Image.open("C.png")
ImTest1 = Image.open("1.png")
ImTest2 = Image.open("2.png")
ImTest3 = Image.open("3.png")
ImTest4 = Image.open("4.png")
ImTest5 = Image.open("5.png")
ImTest6 = Image.open("6.png")
我目前有上述内容,但正在尝试将其重构为我可以分配不同长度的内容(使用带有 A-K 或 J-Z 的列表)。
from PIL import Image
AtoC = ["A.png", "B.png", "C.png"]
def OpenAns(quest):
AtoCImages = []
for image in quest:
AtoCImages.append(Image.open(image))
return AtoCImages
OpenAns(AtoC)
ImTestA = AtoCImages[0]
ImTestB = AtoCImages[1]
ImTestC = AtoCImages[2]
修复了之前的错误,并返回到与之前相同的问题。我只是想清理我的代码,让它干干净净。感谢您的帮助。
Traceback (most recent call last):
File "C:\ImageTest.py", line 13, in <module>
ImTestA = AtoCImages[0]
NameError: name 'AtoCImages' is not defined
也许我只会有单独的文件,每个文件都有一个列表。如果我不能缩短它。
最佳答案
改变:
for image in AtoC:
AtoCIm = []
AtoCIm.append(Image.open(image))
到
AtoCIm = []
for image in AtoC:
AtoCIm.append(Image.open(image))
会做的。
您每次迭代都在创建一个新列表,而不是创建一次列表并向其添加新项目。因此,您的列表始终只有一项。尝试获取第二项 AtoCIm[1]
将引发异常。
关于python - 遍历图像列表并将它们分配为 python 中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30625666/