"If a worker wants to do his job well, he must first sharpen his tools." - Confucius, "The Analects of Confucius. Lu Linggong"
Front page > Programming > How can I get a list of imported modules in my Python program?

How can I get a list of imported modules in my Python program?

Published on 2024-11-01
Browse:460

How can I get a list of imported modules in my Python program?

Obtaining a List of Imported Modules

Listing imported modules is a valuable technique for understanding the dependencies and structure of a Python program. Fortunately, Python provides a straightforward method to retrieve this information.

To enumerate all modules imported into your program, utilize the following code:

import sys
sys.modules.keys()

This snippet accesses the sys.modules dictionary, which contains keys representing module names. By iterating over these keys, you can retrieve a list of imported modules.

For example, given the code:

import os
import sys

The result of executing the上記のコード is ['os', 'sys'], providing you with the imported module names.

If you're interested in obtaining a list of imports specifically within the current module, you can employ the following approach:

import types
def imports():
    for name, val in globals().items():
        if isinstance(val, types.ModuleType):
            yield val.__name__

This function introspects the globals() of the current module and filters out entries that are instances of the types.ModuleType. This approximation returns the original module names even if aliases were used in imports.

Note that this function doesn't include local imports or non-module imports like 'from x import y'. Additionally, it returns val.__name__, which corresponds to the original module name. To obtain the aliases instead, you can use yield name in the function.

Latest tutorial More>

Disclaimer: All resources provided are partly from the Internet. If there is any infringement of your copyright or other rights and interests, please explain the detailed reasons and provide proof of copyright or rights and interests and then send it to the email: [email protected] We will handle it for you as soon as possible.

Copyright© 2022 湘ICP备2022001581号-3