js如何调用python-js教程

首页 2024-07-08 03:10:44

JS 调用 Python 的方法 简介

在 web 有时需要在开发中进行 javascript (js) 代码中调用 python 代码以扩展 js 功能或访问 python 独特的库和数据源。本文将介绍几种类型 js 中调用 python 的方法。

使用 Node.js

Node.js 它很受欢迎 JavaScript 操作环境允许您在服务器端执行 JavaScript 代码。在 Node.js 中,可使用 child_process 模块调用 Python 代码。以下是示例:

const { exec } = require('child_process');

exec('python script.py', (error, stdout, stderr) => {
  if (error) {
    console.error(`error: ${error.message}`);
    return;
  }

  console.log(`stdout: ${stdout}`);
  console.log(`stderr: ${stderr}`);
});
使用 WebAssembly

WebAssembly (WASM) 允许二进制格式 Web 编译代码在浏览器中运行。您可以使用它 Python 编译器(如 Emscripten)将 Python 代码编译成 WASM 模块,然后在 JS 加载并调用代码。以下是一个例子:

fetch('script.wasm')
  .then(response => response.arrayBuffer())
  .then(buffer => WebAssembly.instantiate(buffer))
  .then(({ instance }) => {
    // 调用 Python 函数
    const result = instance.exports.my_python_function();
    console.log(result);
  });
使用 Python 脚本服务器

另一种方法是在服务器端运行 Python 并使用脚本服务器 AJAX 调用(如 XMLHttpRequest)从 JS 代码将请求发送到服务器。下面是一个 Python 服务器示例:

import flask

app = flask.Flask(__name__)

@app.route('/my_python_function', methods=['POST'])
def my_python_function():
    data = flask.request.get_json()
    result = my_python_function(data)
    return flask.jsonify({'result': result})

app.run()

在 JS 你可以用它 XMLHttpRequest 发送请求并接收响应:

立即学习“Python免费学习笔记(深入);

const xhr = new XMLHttpRequest();
xhr.open('POST', '/my_python_function');
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onload = function() {
  const result = JSON.parse(xhr.responseText).result;
  console.log(result);
};
xhr.send(JSON.stringify({ ... }));

以上是js如何调用python的详细信息,请关注其他相关文章!


p