Import relatif sous Python 3.1
Bonsoir,
j'ai la structure de fichiers suivante :
Code:
1 2 3 4 5 6 7 8
| + DOSSIER :module
__init__.py
fileA.py
fileB.py
+ DOSSIER : tests
+ DOSSIER : options
test1.py
test2.py |
Voici les différents codes :
__init__.py
Code:
1 2 3 4 5
| #!/usr/bin/env python
# WARNNG : use Python 3
from . import fileA |
fileA.py
Code:
1 2 3 4 5
| #!/usr/bin/env python
# WARNNG : use Python 3
from . import fileB |
fileB.py
Code:
1 2 3 4 5
| #!/usr/bin/env python
# WARNNG : use Python 3
print('File B has been imported') |
test2.py
Code:
1 2 3 4 5
| #!/usr/bin/env python
# WARNNG : use Python 3
import module |
test1.py
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| #!/usr/bin/env python
# WARNNG : use Python 3
# We must find the module.
import os
import sys
dir = os.path.dirname( __file__ ) + '/../'*3
dir = os.path.normpath(dir)
sys.path.append(dir)
import module |
Le dernier code fonctionne mais je trouve cela un peu sâle.
Les nouvelles spécifications permettent-elles d'utiliser quelque chose de plus simple, c'est à dire sans les modules sys et os ?
J'ai essayé from ... import module par analogie avec from . import module mais sans succès.