web-dev-qa-db-fra.com

Qu'est-ce qu'un . dans une instruction d'importation dans Python signifie?

Je regarde le code pour le module multiprocessing de Python, et il contient cette ligne:

from ._multiprocessing import win32, Connection, PipeConnection

au lieu de

from _multiprocessing import win32, Connection, PipeConnection

la différence subtile étant la période précédant _multiprocessing. Qu'est-ce que ça veut dire? Pourquoi la période?

112
Vlad the Impala

C'est la nouvelle syntaxe pour explicit importations relatives . Cela signifie importer depuis le package actuel.

95
Keith

Le point dans le nom du module est utilisé pour l'importation relative du module (voir ici et ici , section 6.4.2).

Vous pouvez utiliser plus d'un point, ne faisant pas référence au paquet actuel, mais à son (ses) parent (s). Cela ne devrait être utilisé que dans des packages, dans le module principal, il faut toujours utiliser des noms de module absolus.

22
Martin Gunia