gpt4 book ai didi

python - 存储在变量中时找不到正确的文件

转载 作者:太空宇宙 更新时间:2023-11-03 18:24:11 24 4
gpt4 key购买 nike

当用户分数直接改为图片名称时,程序显示正确的图片。然而,当它存储在变量中时,即使它打印了正确的图像名称,它似乎也无法找到图像。

import tkinter as tk

window = tk.Tk()
canvas = tk.Canvas(window, width = 400, height = 200, bg = 'white')

_1 = tk.PhotoImage(file= '1.gif')

score = 1
score = str(score)
user_score = '_' + score
print(user_score)
canvas.create_image((200,100), image=user_score)

canvas.pack()
canvas.update()
window.mainloop()

当图像存储为 _1 时,会出错说图像“_1”不存在。有人可以告诉我如何解决这个问题吗?干杯

最佳答案

@Ashok 建议的 eval() 方法的替代方法是通过字典访问图像,该字典将分数作为键,将图像实例作为值。我认为您不直接传递图像实例变量的原因是因为分数可能会改变。如果您事先知道分数,则可以使用类似于以下的方法:

images = {
'_1': tk.PhotoImage(file='1.gif'), # score is key, image instance is value
'_2': tk.PhotoImage(file='2.gif'),
'_3': tk.PhotoImage(file='3.gif')
}

score = 1
score = str(score)
user_score = '_' + score
print(user_score)

# set the image to the corresponding dict key
canvas.create_image((200,100), image=images[user_score])

您还可以实现错误处理(如果 score4)来处理 KeyError,并显示默认图像或根本不显示图像.

关于python - 存储在变量中时找不到正确的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23536772/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com