Je regarde le code du multiprocessing
module 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édente _multiprocessing
. Qu'est-ce que ça veut dire? Pourquoi cette période?
.
, si vous aviez un fichier_multiprocessing.py
pour une raison indéchiffrable à côté de votre script principal, ilmultiprocessing
se briserait. Avec le.
, il s'assure de disposer de son propre module..
fait référence à des modules homologues, pourquoi la documentation dirait-elle d'utiliser a.
alors que ce module multiprocesseur devrait faire partie des bibliothèques sys.path régulières? La question et la clarification de Chris les confondent-elles ou est-ce que je ne comprends pas? Appréciez l'aide.Réponses:
C'est la nouvelle syntaxe pour les importations relatives explicites . Cela signifie importer depuis le package actuel.
la source
from . import peermodule
from .. import parentpackagemodule
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 plusieurs points, ne faisant pas référence au package actuel mais à ses parents. Cela ne doit être utilisé que dans les packages, dans le module principal, il faut toujours utiliser des noms de module absolus.
la source