如何将一个函数的结果保存为全局变量,以便稍后在另一个函数中使用,或者作为运行函数的结果更新变量值?
我正试图在一个小型tkintergui python 3应用程序上记录用户输入的文件路径。
def sw_click(): # User clicks button
sw_path1 tkinter.filedialog.askopenfilename(initialdir='C:/')
softwareP_label.config(text=sw_path1)
print(sw_path1) # Just for logging
return sw_path1
试图在函数之外使用全局变量时,可变变量的值始终为none或"。
sw_path1 = None # Or using "" has same results
def software_click():
global sw_path11
tkinter.filedialog.askopenfilename(initialdir='C:/')
return sw_path1
使用一个简单的打印命令来检查变量值,在执行时打印变量,值为None或"。运行包含print的函数,打印我试图获取的变量的正确路径。在函数运行后打印变量,值会返回到None或">
None的返回错误,"NameError:name'sw_path1'未定义">
我们非常感谢任何协助。感谢
存在拼写错误:该变量仅在函数全局语句中被称为sw_path11
。
您必须将从文件对话框返回的值分配给变量sw_path1
。
import tkinter.filedialog
sw_path1 = None # Or using "" has same results
def software_click():
global sw_path1
sw_path1 = tkinter.filedialog.askopenfilename(initialdir='C:/')
return sw_path1
software_click()
print(sw_path1)
当您将返回值分配给golbal变量时,您实际上不需要返回它,尽管这会更像蟒蛇。
import tkinter.filedialog
sw_path1 = None # Or using "" has same results
def software_click():
return tkinter.filedialog.askopenfilename(initialdir='C:/')
sw_path1 = software_click()
print(sw_path1)