J'ai un paquet Python mymodule
avec un sous-paquet utils
(c'est-à-dire un sous-répertoire qui contient des modules ayant chacun une fonction). Les fonctions ont le même nom que le fichier/module dans lequel elles vivent.Importer une fonction/classe à partir d'un module Python du même nom
Je voudrais être en mesure d'accéder aux fonctions de la manière suivante,
from mymodule.utils import a_function
Étrangement cependant, parfois je peux importer des fonctions en utilisant la notation ci-dessus, cependant d'autres fois, je ne peux pas. Je n'ai pas réussi à comprendre pourquoi (récemment, par exemple, j'ai renommé une fonction et le fichier dans lequel il était et reflété ce renommer dans le fichier utils.__init__.py
mais il n'est plus importé comme une fonction (plutôt comme un module) dans un de mes scripts.
Le utils.__init__.py
lit quelque chose comme,
__all__ = ['a_function', 'b_function' ...]
from a_function import a_function
from b_function import b_function
...
mymodule.__init__.py
n'a pas de référence à utils
Idées?
Alors, quelle est la différence entre 'import mymodule.utils as utils' et' from mymodule import utils'? –
@Mike DeSimone: Bon point. J'ai mis à jour ma réponse en conséquence. –