如何将数据从Java applet传递到客户端python脚本?

时间:2011-02-12 21:10:56

标签: java javascript python

我有一个python脚本,可以执行各种数字运算工作,现在需要在其上放置一个图形前端(一个分子编辑器,用户在其中绘制一个化合物以传递给脚本)以允许实验室中的其他人更容易使用它。可用的编辑器是Java applet,独立Java或用JavaScript编写。

我非常感谢有关将编辑器和脚本放在一起的最佳策略的任何建议。我真的不想进入客户端/服务器安排,并设想在每台机器上进行自包含安装,即“仅客户端”。最好从javascript开始并以某种方式将输出传递给python,然后从js中运行python脚本。或者(最好)有一些方法可以在python中运行applet(或独立的java),例如在Tkinter或其他一些GUI中,“on-click”将编辑器的输出转换为运算符位的python脚本。

感谢您的任何指示 - 书籍章节,有用的项目/库以及示例链接都很棒。

2 个答案:

答案 0 :(得分:0)

这个问题的最佳解决方案肯定是Jython(http://www.jython.org/)。有了这个,你可以从Java调用你的python代码,甚至在python中使用Java API(即创建一个java对象并返回它)。

唯一的缺点是它只支持Python 2(而且你的启动时间要长一些)。因此,如果您在Python3中编写脚本,则需要移植它(取决于您正在做什么,这可能有点工作)。

答案 1 :(得分:0)

如果你选择JavaScript,我认为它会在浏览器中运行,因此与其他任何东西进行通信都会产生HTTP请求(例如POST或GET URL),因此客户端/服务器的安排是不可避免的。

因此,您需要将Python代码转换为Web应用程序,使用CherryPy之类的方法将URL映射到您的方法。然后,您可以使用JSON表示法传递数据。