Maison  >  Article  >  développement back-end  >  Comment importer depuis la bibliothèque standard lorsqu'un module de projet porte le même nom ?

Comment importer depuis la bibliothèque standard lorsqu'un module de projet porte le même nom ?

DDD
DDDoriginal
2024-11-07 05:44:02880parcourir

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

Importer depuis la bibliothèque standard lorsque le module de projet porte le même nom (contrôle du chemin de recherche du module de Python)

Le système d'importation polyvalent de Python permet d'importer des modules à partir de la bibliothèque standard ainsi que de dans les répertoires de projets. Cependant, des conflits peuvent survenir lorsqu'un module du projet porte le même nom qu'un module de bibliothèque standard.

Problème :

Impossible d'importer la classe Calendrier de la bibliothèque standard depuis au sein d'un projet contenant un module de calendrier, provoquant des erreurs. Tentative d'importation de calendrier : Importation de calendrier à partir du module de projet à la place.

Solution (importation absolue) :

Évitez de renommer les modules. Au lieu de cela, exploitez la fonctionnalité d'importation absolue de Python, disponible dans Python 2.5 et versions ultérieures :

from __future__ import absolute_import
import socket

Dans Python 3.x, l'importation absolue est le comportement par défaut. Pylint peut générer des avertissements, mais le code est valide.

Explication :

L'importation absolue spécifie explicitement où Python doit rechercher les modules, remplaçant le chemin de recherche par défaut qui inclut généralement le répertoire du projet. En déclarant Absolute_import, Python recherche dans la bibliothèque standard avant de considérer les modules du projet portant le même nom.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn