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>
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>
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>
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!