2011-02-12 33 views
0

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

对于将编辑器和脚本放在一起的最佳策略,我将不胜感激。我真的不想进入客户端/服务器安排,并设想在每台机器上进行独立安装,即“仅客户端”。在javascript中开始并以某种方式将输出传递给python,然后从js中运行python脚本会更好吗?或者(最好)有一些方法可以在python中运行applet(或独立的java)在Tkinter或其他一些图形用户界面中,“点击”将编辑器的输出转换为python脚本,以便进行处理。

感谢任何指针 - 书籍章节,有用的项目/库和示例的链接将是伟大的。

+0

我是否正确理解您不需要任何需要服务器(客户端 - 服务器)的东西,并且您不想要可安装的应用程序?无论如何,我认为你应该考虑Jython集成Java GUI和Python脚本(假设它不使用像numpy或scipy那样的功能,这些功能在Jython中确实无法使用)。 – mkorpela 2011-02-12 21:26:44

回答

0

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

唯一的缺点是它只支持Python 2(并且启动时间稍长)。所以如果你用Python3编写你的脚本,你需要移植它(取决于你在做什么,这可能是一个工作)。

0

如果你去的JavaScript我假设它会在浏览器中运行,因此与别的它会使HTTP请求(例如POST或GET URL)的沟通,让客户机/服务器结构是不可避免的。

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

相关问题