我有几个执行特定功能(数据解析,计算等)的自定义python模块。然后,我有描述模块的json配置(即模块名称,参数,函数等)。最后,我要创建一个驱动程序脚本,以驱动这些模块。配置或多或少地传递给驱动程序,驱动程序命令模块基于此配置运行某些功能。我想要做的是基于这些配置,我想动态导入这些模块并遍历基于配置提供的测试列表。配置的数量可以在1到N之间。由于模块是基于模板创建的或通过配置提供的,因此测试列表将被硬编码。
即JsonFile:
{ <module_name>: {
kw:<module>,
kw:<arg1>,
kw:<argN>
}
}
代码:
<parse json code>
for key,val in jsonCfg.items():
lst.append(key)
for dctKey, itm in val.items():
if 'IMPORT' in dctkey:
importlib.import_module(itm)
这就是到目前为止我所掌握的基础知识。现在,我陷入了如何命令python调用该模块代码的困境。我希望有类似标准进口的东西...
import <module> as <module_name>
其中module是itm,而module_name是键。这样,我就可以遍历所有密钥,并调用这些模块的标准功能。
即它应该像这样...
import moduleX as MX
MX.execute
import moduleY as MY
MY.execute
但是被编码为...(伪代码)
<parse json code>
for key,val in jsonCfg.items():
lst.append(key)
for dctKey, itm in val.items():
if 'IMPORT' in dctkey:
importlib.import_module(itm) as key
for mod in lst.items()
mod.execute()
我希望这是有道理的,即使不仅仅是评论,我也可以根据需要进行澄清。
明月笑刀无情
相关分类