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