Heim  >  Artikel  >  Backend-Entwicklung  >  Wie importiere ich aus der Standardbibliothek, wenn ein Projektmodul denselben Namen hat?

Wie importiere ich aus der Standardbibliothek, wenn ein Projektmodul denselben Namen hat?

DDD
DDDOriginal
2024-11-07 05:44:02880Durchsuche

How to Import from the Standard Library When a Project Module Has the Same Name?

Import aus der Standardbibliothek, wenn das Projektmodul denselben Namen hat (Steuerung des Modulsuchpfads von Python)

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn