我是编程新手。我必须编写一个最终加载一系列图像的函数。它需要用户输入文件名的开头以及有多少个文件,然后创建一个循环,以加载所有图像并将其存储在列表中。例如:文件名是da_1.gif,da_2.gif,da_3.gif。用户输入为image = da,n =3。在我的循环中,我更新了image变量以创建正确的文件名,但是当我运行程序时,它返回一个错误,提示文件名不正确存在。该文件与我的代码文件保存在同一文件夹中,因此我假设错误是它没有将字符串作为文件名读取。如何创建可以成功加载图像的代码?
这是我的代码:
def loadImages():
images= []
image= input("Enter the abbreviation that describes the subject of the photograph:")
n= int(input("Enter the number of images you want to load:"))
if n >= 3 and n <= 16:
for i in range (1, n+1):
width= getWidth() * i
height= 0
i= str(i)
image= image + "_" + i + ".gif"
image_2= loadImage(image)
drawImage(image, width, height)
images.append(image)
答案 0 :(得分:2)
使用image = image + "_" + i + ".gif"
,您将重新分配image
变量,但这似乎不是您的意图。您希望image
保留缩写,以便可以从中构造文件名。另外,您可能不想将文件路径传递给drawImage
,而是传递图像对象。要解决此问题,只需使用一个临时变量:
image_path = image + "_" + i + ".gif"
image_2= loadImage(image_path)
drawImage(image_2, width, height)
images.append(image_2)