Rechercher : dans
Par :

[Python] importer fichier d'un autre dossier

Dernière réponse le 18 aoû 2007 à 11:18:52 naycos, le 16 aoû 2007 à 19:57:15 
 Signaler ce message aux modérateurs

Bonjour,

Je débute en python, et je ne sais pas comment inclure une classe décrite dans un fichier qui se trouve dans un autre dossier.

Si je fais : import MaClasse et que le fichier nommé MaClasse.py se trouve dans le même dossier, pas de problème.

En revanche si le fichier se trouve dans un autre dossier, ça ne marche pas.

exemple : import mondossier/MaClasse --> pas bon !

Je ne sais pas comment pointer correctement sur le fichier, ou comment définir les dossiers dans lesquels l'appli doit chercher les fichiers à inclure.

Quelqu'un pourrait-il m'expliquer le principe ??

Merci..

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « [Python] importer fichier d'un autre dossier » dans :
Supprimer un fichier verrouillé dans la mémoire VoirVous venez de télécharger un objet (fichier, dossier ou programme) qui fait planter votre PC ? De plus, aucun logiciel anti-malwares (Antivirus, Antispywares etc.) ne semble pallier ce problème ? Enfin, il est impossible de déplacer, de renommer et...
Restaurer un fichier supprimé par erreur VoirComment restaurer un fichier ? Vous avez supprimé un fichier par erreur ? Rien n'est perdu. Il se trouve peut-être dans la Corbeille. Pour vérifier si le fichier peut être récupéré, ouvrez la corbeille (qui se trouve sur le Bureau). Faire un...
Télécharger Ant Renamer VoirANT Renamer permet de renommer un grand nombre de fichiers et dossiers en quelques clics. Il ne fait que modifier les noms des fichiers/dossiers : Changement d'extension Remplacement de chaînes de caractères par d'autres Insertion d'une chaîne...

1

kilian, le 17 aoû 2007 à 12:04:14

Pour ce que je connais, il y a trois choses qui jouent: la variable d'environnement PYTHONPATH, la variable sys.path et les fichiers __init__.py

Dans PYTHONPATH tu peux mettre les dossiers ou python ira chercher les fichier à importer. Parfois cette variable est déjà définie, parfois pas. Si elle existe déjà il faut rajouter les dossiers que tu veux mais ne pas détruire les anciens. Les différents dossiers sont séparés par des deux-points.
Voici la syntaxe: PYTHONPATH=c:\machin:c:\autre_chemin

La variable sys.path (il faut importer sys pour l'utiliser) permet de modifier dynamiquement le pythonpath lors de l'excution d'un script. C'est une liste donc on utilise append pour ajouter un chemin.

Lorsque tu fais
import bidule
Et que bidule est un dossier contenu par l'un des dossiers du PYTHONPATH, alors python va chercher un fichier nommé __init__.py et va l'executer. S'il n'existe pas alors bidule ne sera pas considéré comme un module. Dans ce fichier tu peux en profiter pour faire des imports en raccourcis avec from prout import truc

C'est expliqué par ici: http://diveintopython.adrahon.org/xml_processing/packages.ht­ml

..et le...le...enfin, non parce c'est...ya...quand...bah tu sais là le...

Répondre à kilian

2

 naycos, le 18 aoû 2007 à 11:18:52

Super, merci pour ta réponse, très complète. Maintenant j'y vois plus clair, et je sais vers où chercher pour approfondir la question.

Répondre à naycos
Collection CommentÇaMarche.net