Ich sehe mir den Code für Pythons multiprocessing
Modul an und er enthält folgende Zeile:
from ._multiprocessing import win32, Connection, PipeConnection
anstatt
from _multiprocessing import win32, Connection, PipeConnection
Der subtile Unterschied ist die Zeit zuvor _multiprocessing
. Was bedeutet das? Warum die Periode?
.
, wenn Sie eine Datei_multiprocessing.py
aus einem nicht entzifferbaren Grund neben Ihrem Hauptskript hätten,multiprocessing
würde brechen. Mit dem.
wird sichergestellt, dass es ein eigenes Modul erhält..
auf Peer-Module bezieht, warum sollte in der Dokumentation angegeben werden,.
dass a verwendet werden soll, wenn dieses Multiprozessor-Modul Teil der regulären sys.path-Bibliotheken sein soll? Verwechseln die Frage und Chris 'Klarstellung sie oder verstehe ich das nicht? Schätzen Sie die Hilfe.Antworten:
Das ist die neue Syntax für explizite relative Importe . Dies bedeutet den Import aus dem aktuellen Paket.
quelle
from . import peermodule
from .. import parentpackagemodule
Der Punkt im Modulnamen wird für den relativen Modulimport verwendet (siehe hier und hier , Abschnitt 6.4.2).
Sie können mehr als einen Punkt verwenden, der sich nicht auf das aktuelle Paket, sondern auf dessen übergeordnete Elemente bezieht. Dies sollte nur innerhalb von Paketen verwendet werden, im Hauptmodul sollte man immer absolute Modulnamen verwenden.
quelle