Avant de le marquer en double s'il vous plaît lisez mon problème:
J'essaie d'importer une classe à partir d'un fichier d'un sous-répertoire
> main.py
> --->folder/
> ----->file.py
et dans file.py
j’ai une classe impliquée (Klasa
) Qu’ai-je essayé:
mise en main.py:
from folder import file
from file import Klasa
Je reçois l'erreur:
de l'importation de fichiers Klasa
ImportError: Aucun module nommé 'fichier'
Quand j'essaye d'utiliser juste:
from folder import file
Je reçois cette erreur:
tmp = Klasa ()
NameError: le nom 'Klasa' n'est pas défini
J'ai mis un __init__.py
vide dans le sous-dossier et il ne fonctionne toujours pas. J'ai inséré le __init__.py
: from file import Klasa
et ne fonctionne toujours pas.
Si main et file sont dans le même dossier, cela fonctionne:
from file import Klasa
mais je veux qu'ils soient dans des fichiers séparés.
Quelqu'un peut-il me dire ce que je fais mal?
Votre problème est que vous n'avez jamais spécifié le bon chemin d'accès au fichier.
Essayez plutôt, à partir de votre script principal:
from folder.file import Klasa
Ou, avec from folder import file
:
from folder import file
k = file.Klasa()
Ou encore:
import folder.file as myModule
k = myModule.Klasa()