Maison  >  Article  >  développement back-end  >  Comment répertorier les modules importés en Python : module complet ou actuel ?

Comment répertorier les modules importés en Python : module complet ou actuel ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-30 07:55:27179parcourir

How to List Imported Modules in Python: Comprehensive vs. Current Module?

Comment énumérer les modules importés en Python

L'inscription des modules importés dans un script Python ou une session interactive donnée peut être utile pour l'introspection ou le débogage fins. Pour y parvenir, nous pouvons exploiter le module sys de Python.

Considérez l'extrait de code suivant :

<code class="python">import os
import sys</code>

Nous pouvons lister les modules importés en utilisant :

<code class="python">import sys
sys.modules.keys()</code>

Sortie :

['os', 'sys']

Cette approche fournit une liste complète de tous les modules importés, y compris ceux importés dans le module principal ainsi que tous les modules importés dans des modules ou des fonctions.

Module approximatif Importations pour le module actuel

Dans les scénarios où il est souhaitable d'inspecter les modules importés uniquement dans le module actuel, nous pouvons utiliser la fonction globals() et l'inspecter pour les types de modules. Cette méthode fournit une approximation des importations du module actuel.

<code class="python">import types
def imports():
    for name, val in globals().items():
        if isinstance(val, types.ModuleType):
            yield val.__name__</code>

Cependant, il convient de noter que cette technique exclut les importations locales et les importations impliquant des objets non-modules (par exemple, from x import y). De plus, il renvoie val.__name__ pour les noms de modules. Si vous devez plutôt récupérer l'alias, remplacez rendement val.__name__ par le nom de rendement.

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