2015-04-01 3 views
0

J'ai deux scripts:Partager variable globale à un autre python de script

1.py

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

Je veux modifier la variable activation_splitView à 1 lorsque j'utilise la fonction splitDisplay. Mon deuxième script 2.py peut lire activation_splitDisplay à l'aide de l'importation 1 et ce code. Il a lu la variable seulement quand il est lancé, je n'ai pas à faire de pipe/multiprocessing et la variable ne l'utilisera plus.

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

Mais je lis toujours 0 pour la variable, je ne sais pas comment modifier et envoyer la nouvelle valeur à mon second script.

Pouvez-vous m'aider s'il vous plaît?

Loris

+0

I Je ne veux pas d'un autre script modifier la variable, je veux modifier dans mon script principal (1.py) la variable, et, quand je lance le deuxième script, il peut lire la valeur modifiée de la variable, mais je ne peux que lire la valeur activation_splitView déclarée dans la portée avec le 2.py –

+1

'1' n'est pas un nom d'objet valide dans Python. Comme un module est un objet, ce n'est pas non plus un nom de module valide. Les noms Python doivent commencer par un caractère compris entre A et Z ou z (le trait de soulignement implique une signification particulière). – cdarke

+0

En deuxième lecture de votre question, attendez-vous de partager une variable entre deux * processus *? – cdarke

Répondre

0

Je pense que le code suivant devrait utiliser, lorsque vous utilisez la classe et le retour 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

Qu'est-ce que MonProg ('x')? Pourquoi x? Pour lire activation_splitView dans 2.py, il suffit de faire, par exemple, test_var = test.returnValue()? –

+0

Qu'est-ce que je dois faire dans le cadre de 2.py? importer 1 ou quoi? –

+0

'x' est un exemple. – thinkerou