2017-10-04 18 views
0

Voici ma structure de répertoire:Importer via le module de variables globales de chemin relatif

. 
`-- parent 
    |-- child 
    | |-- globalvar.py 
    | |-- __init__.py 
    | `-- subchild 
    |  |-- __init__.py 
    |  `-- module.py 
    `-- main.py 

Le globalvar.py dans le répertoire des enfants se compose des variables globales que je voudrais utiliser dans mon application:

globalvar.py

def variables(): 
     global event_id 

     event_id = 2100 

En main.py, j'appelle la globalvar.py via l'importation pour initialiser (child.globalvar.variables):

main.py

import child.globalvar 
from child.subchild.module import display 

child.globalvar.variables() 

display() 

Voici ce que je dans mon fichier module.py dans le répertoire subchild:

from ..globalvar import variables 

def display(): 

     print globalvar.event_id 

C'est le retraçage que je reçois quand j'exécute main.py :

Traceback (dernier appel en dernier):

File "main.py", line 6, in <module> 
    display() 
    File "/parent/child/subchild/module.py", line 5, in display 
    print globalvar.event_id 
NameError: global name 'globalvar' is not defined 

Comment résoudre ce problème?

Répondre

0

j'ai pu corriger en modifiant l'instruction d'importation dans mon dossier module.py:

AVANT:

from ..globalvar import variables 

APRÈS:

from .. import globalvar