2017-08-02 4 views
1

Existe-t-il un moyen d'obtenir une liste des modules importés répertoriés comme importés?Obtenir une liste ordonnée des modules importés en python

globals() renvoie un dict qui n'est pas ordonné.

+1

Voulez-vous dire commandés par « la façon dont ils ont été importés » (nom) ou par "l'ordre dans lequel ils ont été importés" (temps-like) ou quelque chose d'autre entièrement? – MSeifert

Répondre

1

Bien qu'il n'est pas garanti que le dictionnaire est commandé en CPython-3.6 il est ordonné dans les 3.6 actuelles versions de CPython.

Donc, si vous affichez sys.modules (un dictionnaire contenant tous les modules chargés), il doit être commandé par le « ordre relatif des importations »:

import sys 

print(list(sys.modules)) 
0

Vous pouvez utiliser sys.modules:

C'est un dictionnaire qui associe les noms de modules modules qui ont déjà été chargés . Cela peut être manipulé pour forcer le rechargement des modules et d'autres astuces.


>>> import sys 
>>> list(sys.modules.keys()) # will return the list in the order the modules were imported only on python3.6 or greater.