0

我正在为 Python 工具构建 Web 界面。它是使用 J2EE (Spring) 设计的。

在此过程中,我需要调用 Python 函数,因此我使用的是 Jython。

但是对于某些模块,我没有 Python 源文件,我只有.pyc文件和列出该文件方法的文档。我需要知道如何.pyc使用 jython 在文件中调用这些函数。

我试图反编译 Python 文件,但由于它们已与 Python 2.7 兼容,我无法找到反编译器来完成这项工作

4

2 回答 2

3

“编译的”python 代码“.pyc”文件是特定于实现的。甚至 CPython(标准 Python 实现)也无法导入由不同版本的 CPython 生成的 .pyc 文件。而且不应该。因此,如果 Jython 能够运行由任何 CPython 版本创建的 .pyc 文件,我会感到惊讶。

“.pyc”文件与 Java 字节码(设计为可移植的)不同。

反编译似乎是唯一的方法。我认为有一些 .pyc 反编译器可用,它们应该能够生成可由 Jython 运行的 Python 代码。

于 2011-07-07T10:25:24.890 回答
2

实际上,jython 确实为运行 cpython 生成的 pyc 文件提供了实验性支持:jython 2.5 内置了一个 cpython 字节码解释器。

在此处阅读有关如何使用它的更多信息

http://www.jython.org/jythonbook/en/1.0/ModulesPackages.html?highlight=pycimport#compilation

于 2011-07-09T12:20:04.873 回答