这就是我的程序流程。用户通过菜单加载文件,并调用loadFile函数。
def loadFile():
dictList = defaultdict(list)
filename = askopenfilename(filetypes=[("text files","*.txt")])
#process the file content and store in dictList
return dictList
现在在GUI中,当用户点击加载文件菜单时,将调用加载文件。因为loadfile返回一个dictList对象,我需要它在以后进行进一步处理。如何在不使用全局变量的情况下获取返回的对象?我也没有以面向对象的方式编码。
fileMenu.add_command(label="Load File", command=loadFile)
答案 0 :(得分:1)
如果不使用全局变量,则无法执行此操作。变量必须以可以从多个函数访问的方式存储。由于您没有使用对象,因此您唯一的 1 选择是使用全局变量。
1 从技术上讲,它不是唯一的选择。您可以使用某种类型的数据库,或将值写入磁盘,但这是此方案中唯一可行的选择。