我必须用Jython为CCPS(使用Jython作为脚本接口的程序)编写一些代码。但是,如果我在编辑器中更改子模块,Jython不会更新它们,除非我重新启动程序(启动时间是禁止的)。所以测试和调整是相对缓慢的。在
我在google上找到了一个帖子,指出应该导入或重新加载子模块。因此,基本大纲是:
def loader(module, part=None):
if not module in sys.modules :
if part == None:
exec("import "+module)
else:
exec("from %s import %s" % (module, part))
else :
exec("reload "+module)
但是我有一个问题,模块是本地加载的,这意味着我可以在loader()
函数中访问该模块,但不能在主代码中访问。在
两个问题:
在Jython中测试子模块的正确方法是什么,而不必在每个子模块更改之后重新启动Jython? 有没有一种方法可以动态生成全局变量以便导入全局命名空间?在
(例如exec("global %(mod)s = %(mod)s" % ({'mod':module}))
不如卸载所有模块,以便下次导入时重新加载它们:
相关问题 更多 >
编程相关推荐