Lorsque j'importe un sous-répertoire et attribuez-lui un nom de variable, pourquoi suis-je alors impossible d'importer des modules à partir de ce sous-répertoire via le nom de la variable?
Par exemple, ma structure de répertoire est la suivante: p>
import f1.f2 as f from f import m1 Error msg: ModuleNotFoundError: No module named 'f'
3 Réponses :
Vous devez créer un module Créer un fichier
Chaque fois que vous utilisez Exemple: em> p> à partir de code> ou
import code>, Python recherche un module avec le nom que vous passez. Vous devez d'abord importer à partir du nom du module réel, puis utilisez vos variables.
C'est intéressant, je pensais que les variables ont été remplacées par ce qu'ils ont référencé par Python?
Je pense que les variables de la raison ne sont pas autorisées ici est d'éviter les conflits entre les noms de variable et de module. E.G., je peux importer aléatoire code>, mais je peux également avoir une variable du même nom sans conflit.
La grammaire Python n'autorise pas les expressions après vous pouvez faire p> à la place ... p> p> p> de code>:
f code> dans la deuxième ligne est une expression variable et La grammaire Python ( https://docs.python.org/3/reference/grammar. HTML ) pense qu'il a trouvé un nom
nom code>, qui est ensuite dirigé vers la machine d'importation pour trouver un module nommé
f code>: p>
Vous n'avez pas créé de
__ init __. Py code> dans vos packages.