在java和python之间传递数据

goh*_*goh 5 python java django jython

如果我的问题是noob,请道歉.我正在使用pgsql 8.4运行Django 1.2并且我需要在从用户获得输入后运行Java程序,进行一些计算并将结果返回给用户.

我可以知道在Java和Python Django之间传递数据的最佳方法是什么,以便上面的场景得到解决?我听说过Jython,但根据Django文档,它需要扩展jython-Django,但目前它不支持django 1.2.x. 我应该使用stdout传递数据吗?

感谢别人听我说.

ian*_*ury 5

如果您要做的只是调用Java进行某些计算,则子过程是最简单的方法,但是我只想在此扔另一个选择。

JPype是一个软件包,使您可以在Python程序中运行JVM,同时像调用Python一样调用Java代码(示例)。

也就是说,就像Jython那样,您直接调用Java代码,而像子流程那样,您实际上正在运行CPython。如果出于某种原因从外壳程序脚本(又称子进程)调用Java代码不容易,或者需要进行大量双向通信,请考虑使用JPype。


S.L*_*ott 4

使用子进程并将Java程序作为简单的子进程运行。它非常非常简单并且相当快。

如果您需要做一些更具可扩展性的事情,您应该考虑使用 Java 代码创建glassfish服务器,以便您的 Python 可以向 Java 发出 Web 服务请求。这更具可扩展性,但也需要更多工作。