2015-04-01 82 views
0

分享全局变量我有两个脚本:到另一个脚本蟒蛇

1.py

activation_splitView = 0 
     class MonProg(Frame): 
      def __init__(self, master=None): 
      blablabla 
      def splitDisplay(self): 
      blablabla 

我想,当我使用splitDisplay功能修改的变量activation_splitView为1。我的第二个脚本2.py可与进口1的帮助下,该代码读取activation_splitDisplay。他只在启动时才读取变量,我不必进行管道/多处理,变量也不再使用。

if 1.activation_splitView == 0: 
     tkMessageBox.showwarning('0') 
else: 
     tkMessageBox.showwarning('1') 

但我始终对可变的读取0,我不知道如何修改它,并发送新的价值,我的第二个脚本。

你能帮助我吗?

洛里斯

+0

我不想另一个脚本修改变量,我想在我的主脚本(1.py)编辑变量,并且,当我运行第二个脚本他可以读取变量的修改值,但我只能读取范围中声明的activation_splitView值2.py – 2015-04-01 07:20:29

+1

'1'在Python中不是有效的对象名称。由于模块是一个对象,因此它也不是有效的模块名称。 Python名称应该以A-Z或a-z范围内的字符开头(下划线意味着特殊含义)。 – cdarke 2015-04-01 07:21:16

+0

第二次阅读您的问题时,您是否期望在两个*进程*之间共享一个变量? – cdarke 2015-04-01 07:22:08

回答

0

我认为下面的代码应该使用,当你使用类和返回VAR:

1.py:

activation_splitView = 21 

class MonProg(object): 
    def __init__(self, master=None): 
     # balabala 

    def splitDisplay(self): 
     global activation_splitView 
     # use activation_splitView here. 
     # you should save `activation_splitView` to one file, eg: test.ini 

2.py

# in 2.py file. 
# read test.ini file in order to `activation_splitView`. 
+0

什么是MonProg('x')?为什么是x? 要阅读2.py中的activation_splitView,我只是想做一个例子,test_var = test.returnValue()? – 2015-04-01 08:09:54

+0

2.py范围内我需要做什么?导入1还是什么? ' – 2015-04-01 08:14:29

+0

'x'就是一个例子。 – thinkerou 2015-04-01 08:28:46