我正在为 Python 工具构建 Web 界面。它是使用 J2EE (Spring) 设计的。
在此过程中,我需要调用 Python 函数,因此我使用的是 Jython。
但是对于某些模块,我没有 Python 源文件,我只有.pyc
文件和列出该文件方法的文档。我需要知道如何.pyc
使用 jython 在文件中调用这些函数。
我试图反编译 Python 文件,但由于它们已与 Python 2.7 兼容,我无法找到反编译器来完成这项工作
“编译的”python 代码“.pyc”文件是特定于实现的。甚至 CPython(标准 Python 实现)也无法导入由不同版本的 CPython 生成的 .pyc 文件。而且不应该。因此,如果 Jython 能够运行由任何 CPython 版本创建的 .pyc 文件,我会感到惊讶。
“.pyc”文件与 Java 字节码(设计为可移植的)不同。
反编译似乎是唯一的方法。我认为有一些 .pyc 反编译器可用,它们应该能够生成可由 Jython 运行的 Python 代码。
实际上,jython 确实为运行 cpython 生成的 pyc 文件提供了实验性支持:jython 2.5 内置了一个 cpython 字节码解释器。
在此处阅读有关如何使用它的更多信息
http://www.jython.org/jythonbook/en/1.0/ModulesPackages.html?highlight=pycimport#compilation