将字符串转换为文件名

时间:2018-11-23 22:57:14

标签: python

我是编程新手。我必须编写一个最终加载一系列图像的函数。它需要用户输入文件名的开头以及有多少个文件,然后创建一个循环,以加载所有图像并将其存储在列表中。例如:文件名是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)

1 个答案:

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