如何将数据从Java小程序传递到客户端Python脚本?

0 投票
2 回答
1090 浏览
提问于 2025-04-16 11:43

我有一个用Python写的脚本,它可以处理各种数字计算的工作。现在我想给它加一个图形界面,让实验室的其他人能更方便地使用。这个图形界面是一个分子编辑器,用户可以在上面画出化合物,然后把它传给脚本。现在可用的编辑器有Java小程序、独立的Java应用程序或者用JavaScript写的。

我非常希望能得到一些建议,关于如何把编辑器和脚本结合在一起。我不想搞成客户端/服务器的那种方式,想要的是在每台机器上都能独立安装,也就是“仅客户端”。那么,是不是先用JavaScript来做,然后以某种方式把结果传给Python,再从JavaScript中运行Python脚本呢?或者(更理想的情况是)有没有办法在Python中运行小程序(或者独立的Java),比如在Tkinter或者其他图形界面中,点击后把编辑器的输出传给Python脚本进行计算呢?

谢谢任何建议——书籍章节、实用项目/库以及示例链接都非常欢迎。

2 个回答

0

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

唯一的缺点是它只支持 Python 2(而且启动时间可能会稍微长一些)。所以如果你是用 Python 3 写的脚本,就需要把它转换一下(具体需要多少工作量要看你做的事情)。

1

如果你选择使用JavaScript,我想这段代码会在浏览器里运行,因此要和其他东西交流,它就得发HTTP请求(比如说发送或获取一些网址),所以客户端和服务器的关系是不可避免的。

因此,你需要把你的Python代码变成一个网页应用,可以使用像CherryPy这样的工具,把网址和你的方法对应起来。这样你就可以用JSON格式来传递数据。

撰写回答