グローバル変数から Python2.7 の別のモジュールに変更を引き継ごうとしています。以前に同様の状況でこれを行ったことがありますが、何らかの理由でこのインスタンスでは機能しません。最初のファイルは、プログラムを実行するファイルです。グローバル変数を設定し、選択したオプションに従って変更します。以下にコードの一部を貼り付けました。runnerMod:
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 からの Choice という名前のグローバル変数を、このモジュールに引き継がせたいと考えています。main_mod:
from runnerMod import menuSelection
def functOne():
userInput = menuSelection().OPTIONCHOSEN()
print userInput
グローバル変数の選択は0から始まりますが、runnerMod.pyモジュールで1に変更し、main_mod.pyモジュールに反映させたいです。私は既存のプログラムへのインターフェースを書き直しているので、私のオプションはコード化された方法で少し制限されています。ここで何かアイデアはありますか?