我试图做一些事情让我公司的用户通过一些个性化改变他们的电子邮件的默认签名。
所以当我点击此按钮时,我不明白为什么:
Button(master, text='Insert Image',command=insert_image).grid(row=12,column=1,sticky=W,pady=4)
它称之为:
global image_path
def insert_image():
image_path = filedialog.askopenfilename(initialdir="X:\\", title="Select the image you want to add")
image_path = 'X:\\' + str(image_path)
它允许我选择文件,它似乎将它存储在变量中,但稍后,当我必须在这里使用变量时:
if image_path != "":
signature.write('<br><br><img src="{}" alt="prova"><br><br>\n'.format(image_path))
它给出了
NameError: name 'image_path' is not defined
我做错了什么?
答案 0 :(得分:2)
您需要在全局范围内创建变量,然后在函数内使用global
。
image_path = ""
def insert_image():
global image_path
image_path = filedialog.askopenfilename(...)
...