我想做这个python import语句的等价操作
from module import func1, func2, func3, var1, var2, ...
但是模块名和位置作为命令行参数传递给脚本,所以我使用importlib.util。有没有一种更python的方法将变量名放入主模块的名称空间
import importlib.util
import sys
modulepath = sys.argv[1]
spec = importlib.util.spec_from_file_location('modulename', modulepath)
module = importlib.util.module_from_spec(spec)
spec.loader.exec_module(module)
# Is there a better way than this?
func1 = module.func1
func2 = module.func2
func3 = module.func3
不确定在什么意义上您希望有一个“更好”的方法来完成它,但您可以简单地将代码封装在如下函数中:
然后你可以做:
我不确定
但你能做到
相关问题 更多 >
编程相关推荐