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

Mary-Kate Olsen
Release: 2024-10-29 09:54:02
Original
963 people have browsed it

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:

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

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:

<code class="python">import os
import sys</code>
Copy after login

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:

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

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.

The above is the detailed content of How can I get a list of imported modules in my Python program?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!