126 votes

Importer un fichier depuis le répertoire parent ?

J'ai la structure de répertoire suivante :

application
    tests
        main.py
    main.py

application/main.py contient quelques fonctions.

tests/main.py contiendra mes tests pour ces fonctions mais je ne peux pas importer le niveau supérieur main.py. J'obtiens l'erreur suivante :

ImportError: Import by filename is not supported.

J'essaie d'importer en utilisant la syntaxe suivante :

import main

Qu'est-ce que je fais de mal ?

6voto

Andy Fraley Points 461

Pour importer un fichier dans un sous-répertoire différent du répertoire parent, essayez quelque chose comme ceci :

sys.path.append(os.path.abspath('../other_sub_dir'))
import filename_without_py_extension

Edit : Manque le crochet de fermeture.

-3voto

StackUP Points 754

En python . existe pour le même répertoire, .. pour le répertoire parent pour importer un fichier depuis le répertoire parent, vous pouvez utiliser ..

from .. import filename (sans extension .py)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X