[英]How can I import a module as a parameter in a function in python 3
I try to import a module as a parameter in a function.我尝试将模块作为函数中的参数导入。 But my PyCharm show me a error Can someone help me please但是我的 PyCharm 显示一个错误有人可以帮我吗
#Code #代码
#This program schow me all commands from a Modul ( for example os ) def schow(name): import name #该程序显示来自模块(例如 os)的所有命令 def schow(name): import name
a = list((str(dir(name))).split(",")) for i in range(0, len(a)): print(str(i) + a[i])
schow(os)肖(操作系统)
Error错误
Traceback (most recent call last): File "/Users/ /PyChrm/ / / .py", line 10, in schow(os) NameError: name 'os' is not defined Traceback(最近一次调用最后一次):文件“/Users/ /PyChrm/ / / .py”,第 10 行,在 schow(os) NameError: name 'os' is not defined
Process finished with exit code 1进程以退出代码 1 结束
Welcome to StackOverflow 😊👋欢迎来到 StackOverflow 😊👋
As commented here , you're looking for the importlib.import_module
module.正如这里所评论的,您正在寻找importlib.import_module
模块。
You can do it like this:你可以这样做:
import importlib
# Single line import
importlib.import_module('itertools.combinations')
# Looping import
MODULES = {
'typing': ['Optional', 'Union', 'List']
}
for (module, submodules) in MODULES.items():
for submodule in submodules:
importlib.import_module(f"{module}.{submodule}")
Or you can do it manually, like this:或者您可以手动执行此操作,如下所示:
MODULES = {
'itertools': ['combinations'],
'typing': ['Optional', 'Union', 'List']
}
for (module, submodules) in MODULES.items():
import_str = f"from {module} import {', '.join(submodules)}"
exec(import_str)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.