Jython:从其他来源导入模块(例如DB)?

时间:2010-12-06 00:16:12

标签: module import load hook jython

我正在使用Java程序来加载和运行Jython脚本 - 使用org.python.util.PythonInterpreter。

我将Jython脚本存储在数据库中:目前我必须在运行它们之前将Python脚本解压缩到文件系统 - 以确保脚本中的任何“import”语句都能正常工作。

有没有办法避免这个提取步骤:那就是 - 有没有办法挂钩Python解释器来拦截导入并调用Java方法(它会从数据库加载jython源)? / p>

1 个答案:

答案 0 :(得分:2)

您可以从Python或Java添加导入程序(Jython代码中有一个标准的导入程序从类路径导入:org.python.core.ClasspathPyImporter;它实现的org.python.core.util.importer接口中也有一些Javadoc可能是有用)。代码相对简单;另见PEP 302