Das vielseitige Importsystem von Python ermöglicht den Import von Modulen sowohl aus der Standardbibliothek als auch aus innerhalb von Projektverzeichnissen. Es kann jedoch zu Konflikten kommen, wenn ein Modul im Projekt denselben Namen hat wie ein Standardbibliotheksmodul.
Problem:
Die Kalenderklasse der Standardbibliothek kann nicht importiert werden innerhalb eines Projekts, das ein Kalendermodul enthält, was zu Fehlern führt. Der Versuch, Kalender aus dem Kalender zu importieren, importiert stattdessen aus dem Projektmodul.
Lösung (Absoluter Import):
Vermeiden Sie das Umbenennen von Modulen. Nutzen Sie stattdessen die absolute Importfunktion von Python, die in Python 2.5 und höher verfügbar ist:
from __future__ import absolute_import import socket
In Python 3.x ist der absolute Import das Standardverhalten. Pylint kann Warnungen auslösen, aber der Code ist gültig.
Erklärung:
Absoluter Import gibt explizit an, wo Python nach Modulen suchen soll, und überschreibt dabei den Standardsuchpfad, der normalerweise Folgendes enthält Das Projektverzeichnis. Durch die Deklaration von absolute_import durchsucht Python die Standardbibliothek, bevor es Projektmodule mit demselben Namen berücksichtigt.
Das obige ist der detaillierte Inhalt vonWie importiere ich aus der Standardbibliothek, wenn ein Projektmodul denselben Namen hat?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!