我正在尝试将更改从全局变量转移到 Python2.7 中的另一个模块。我以前在类似的情况下做过这个,但由于某种原因,它在这种情况下不起作用。第一个文件是运行程序的文件。它设置一个全局变量并根据所选选项对其进行更改。我在下面粘贴了一些代码。亚军模组:
import Tkinter
from main_mod import*
choice = "0"
def main():
main_mod=functOne()
class GUI(Tkinter.Tk):
def __init__(self, parent):
Tkinter.Tk.__init__(self, parent)
self.parent = parent
self.initialize()
def initialize(self):
self.grid()
self.update()
btnOption1 = Tkinter.Button(self, text=u"Option 1", command=self.onButtonClick)
btnOption1.grid(column=0, row=1)
def onButtonClick(self):
selection = "1"
self.destroy()
exec 'choice=%s' %selection in globals()
main()
class menuSelection:
def OPTIONCHOSEN(self):
return choice
if __name == "__main__":
app = GUI(None)
app.mainloop
我希望 runnerMod.py 中名为 selection 的全局变量能够延续到这个模块。主模块:
from runnerMod import menuSelection
def functOne():
userInput = menuSelection().OPTIONCHOSEN()
print userInput
全局变量选择从 0 开始,但我想在 runnerMod.py 模块中将其更改为 1,并将其反映在 main_mod.py 模块中。由于我正在重写现有程序的接口,因此我的选择在其编码方式上有点受限。有人在这里有什么想法吗?