Comment python traite avec le module et le paquet portant le même nom?
Supposons que j'ai un module foo.py
et un paquet foo/
. Si je l'appelle
import foo
dont l'un sera chargé? Comment puis-je spécifier j'baguette à charger le module, ou le paquet?
- pythons système d'importation est un fieffé et continue de la parodie.
Vous devez vous connecter pour publier un commentaire.
Je crois que le paquet sera toujours chargées. Vous ne pouvez pas contourner cela, autant que je sache. Afin de modifier l'emballage ou le nom du module. Docs: http://docs.python.org/tutorial/modules.html#the-module-search-path
En fait, il est possible (ce code n'est pas testé, mais semble fonctionner).
Fichier
foo.py
Fichier
foo/__init__.py
Fichier
test1.py
Fichier
test2.py
De course
Peut-être que vous souhaitez déplacer vos classes de
foo.py
module de__init__.py
.De cette façon vous serez en mesure de les importer de l'emballage ainsi que l'importation de modules optionnels:
Fichier
foo/__init__.py
:Fichier
mymodule.py
:Néanmoins, je voudrais quelqu'un pour vérifier cette approche et laissez-moi savoir si c'est correct ou la
__init__
module ne doit pas être utilisé comme ça.