Python3动态创建module
最近要支持一个功能,让用户自定义一些动态的逻辑,索性让用户自己写代码执行,所以需要做到让用户的代码动态执行起来。下面列举一下核心逻辑。
代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #!/usr/bin/env python3 import importlib def new_module(mod_name): spec = importlib.machinery.ModuleSpec(mod_name,None) return importlib.util.module_from_spec(spec) def create_module(mod_name, object_list): mod = new_module(mod_name) for obj in object_list: setattr(mod,obj.__name__, obj) return mod 这个脚本主要是用来动态创建module,并且把对象放到module中,这样就可以在其他地方调用了。
参考文章 Creating Dynamic Modules in Python 3 ……