-3

我有以下问题,我要求更好的方法。

我必须从 Spring Boot 项目内部执行 Python 脚本。该脚本应该很简单,但是是由其他人制作的,如果可能的话,我想避免需要更改它。

据我了解,我有两种选择:

  1. 从我的 Java 代码中,我执行一个 shell 命令,如下所示: https ://www.baeldung.com/run-shell-command-in-java

使用这种方法,我可能必须处理我的脚本运行位置的操作系统识别并处理它。

  1. 使用Jython将 Python 代码嵌入到我的 Java 代码中,但我真的不知道它是如何工作的,如果我可能会遇到兼容性代码(代码是由其他人编写的,应该很容易,但如果我没有的话会更好更改此代码的某些内容)。

那你建议我怎么做?

4

1 回答 1

3

更好的方法是将 Python 脚本视为要调用的外部服务,而不是要执行的文件。在这种情况下,我强烈建议将 Flask 作为轻量级框架。

一个简单的烧瓶应用程序看起来像这样:

from flask import Flask, jsonify
app = Flask(__name__)

@app.route('/')
def hello():
    # Call your script method here
    return jsonify(success=True)

if __name__ == '__main__':
    app.run(debug=True)

在本地开发的情况下,您可以使用 shell 命令“python filename.py”运行此应用程序。默认情况下,您可以使用您首选的 Java 方法通过http://127.0.0.1:5000/调用此服务。

于 2020-07-31T23:13:11.480 回答