繁体   English   中英

有没有办法从 web 浏览器执行 Python 脚本? [等候接听]

[英]Is there any way of executing a Python script from a web browser? [on hold]

我有一个 python 脚本,当有人在浏览器中单击 HTML/PHP web 页面中的按钮时,我想执行该脚本。 如何做到这一点,最好的方法是什么?

您需要使用 flask 服务器来满足此要求,因为浏览器无法访问本地文件。

通过使用 flask,您需要在.js中编写 Ajax 调用。

示例 Ajax 调用。

$(document).ready(function () {
  $('#<ButtonID>').click(function (event) {
    $.ajax({
      url: '/<Flask URL>',
      type: 'POST',
      success: function (data) {
        <DATA OBJECT>
      },
    });
    event.preventDefault();
  });
});

样品 Flask function

@app.route('/<Flask URL>',methods=['POST'])
def result():
    try:
        <DO>
    except:
        logger.error()
        raise
    return jsonify({'data':<Python variable>})

您可能需要导入必要的模块。

Look at exec https://www.php.net/manual/en/function.exec.php function if you're going to use pure PHP for this.

FlaskDjango是基于 Z2567A5EC9705EB7AC2C984033E06 框架的Python的两个示例。 它们都允许调用后端脚本,并将结果传递到 web 页面代码中保存的变量中。

使用exec

$command = "python script_path";
exec($command,$output,$return_var);
if ($return_var) {
    $error = error_get_last();
    var_dump($error)
}

您可以在您的网站中使用 Skulpt 库来实现您的目标。 这是链接: http://skulpt.org/using.html

我不确定它是否符合您的需求,但请看一下:
PyPy.Js

它是用 JavaScript 编写的 Python 解释器。 也许你可以用它做点什么。

另一种选择是创建一个 HTTP 端点,例如 Flask 并让按钮向该端点发送请求,然后执行该文件。

祝你好运!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM