import

Le
NicolasP
Bonjour,

Prenons l'arborescence suivante sur le système de fichier :
appli/dir1/script1.py
dir2/script2.py

Dans script2.py, je voudrais importer script1.py.

Une solution est d'ajouter appli/dir1 à sys.path.

Mais y a t-il une solution plus élégante ?

A noter que les import relatifs de python 2.5 ne fonctionnent pas dans ce cas.

Nicolas
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Bruno Desthuilliers
Le #6563051
Bonjour,

Prenons l'arborescence suivante sur le système de fichier :
appli/dir1/script1.py
dir2/script2.py

Dans script2.py, je voudrais importer script1.py.

Une solution est d'ajouter appli/dir1 à sys.path.

Mais y a t-il une solution plus élégante ?

A noter que les import relatifs de python 2.5 ne fonctionnent pas dans
ce cas.

Nicolas


Laurent Pointal
Le #6564071
Le Tue, 06 May 2008 10:15:33 +0200, NicolasP a écrit :

Bonjour,

Prenons l'arborescence suivante sur le système de fichier :
appli/dir1/script1.py
dir2/script2.py

Dans script2.py, je voudrais importer script1.py.

Une solution est d'ajouter appli/dir1 à sys.path.

Mais y a t-il une solution plus élégante ?

A noter que les import relatifs de python 2.5 ne fonctionnent pas dans
ce cas.

Nicolas


En considérant que le répertoire qui contient appli est dans le path...

Créer appli/__init__.py
Créer appli/dir2/____init__.py

Import:

from appli.dir2 import script2

Surtout si le contenu de appli/ contient les différents éléments de ton
application. C'est propre et net.






--
Laurent POINTAL -

NicolasP
Le #6567581

Bonjour,

Prenons l'arborescence suivante sur le système de fichier :
appli/dir1/script1.py
dir2/script2.py

Dans script2.py, je voudrais importer script1.py.

Une solution est d'ajouter appli/dir1 à sys.path.

Mais y a t-il une solution plus élégante ?

A noter que les import relatifs de python 2.5 ne fonctionnent pas dans
ce cas.

Nicolas


En considérant que le répertoire qui contient appli est dans le path...

Créer appli/__init__.py
Créer appli/dir2/____init__.py

Import:

from appli.dir2 import script2

Surtout si le contenu de appli/ contient les différents éléments de ton
application. C'est propre et net.

Merci Laurent.


Je vais voir si ça marche dans mon cas.

Nicolas


Laurent Pointal
Le #6579581
Le Wed, 07 May 2008 08:46:54 +0200, NicolasP a écrit :

Merci Laurent.

Je vais voir si ça marche dans mon cas.

Nicolas


J'oubliais le mot clé: package python.

La doc t'en diras plus.



--
Laurent POINTAL -

Publicité
Poster une réponse
Anonyme