【问题标题】:Run python program within a JS file在 JS 文件中运行 python 程序
【发布时间】:2020-07-05 15:49:07
【问题描述】:

我有一个可以执行搜索查询的网站。之后,通过 API 生成搜索请求,其中搜索查询保存在名为 query 的变量中:

    const { query, ...optionsFromState } = adaptRequest({
  ...state,
  ...(current !== undefined && { current }),
  ...(filters !== undefined && { filters }),
  ...(resultsPerPage !== undefined && { resultsPerPage }),
  ...(sortDirection !== undefined && { sortDirection }),
  ...(sortField !== undefined && { sortField })
});

现在,我想使用查询并使用 python 脚本对其进行转换。假设脚本名为transformation.py,它包含一个函数,该函数接受查询并将其发送到神经网络,这将产生一些输出。为简化起见,假设 python 脚本内部有一个函数,它产生output = function(query)。然后,我想获取该输出并将其提供给原始 .js 文件中的某个变量 output。最后,我想在我的 .js 文件中做这样的事情:

send query as function parameter to transformation.py
output = output from transformation.py

我该怎么做?

非常感谢您的帮助!

【问题讨论】:

  • python 代码是否在某个服务器上运行?
  • 它正在我的本地机器上运行
  • 浏览器中的Javascript无法在本地计算机上调用python。除非我误解了网站。此外,你怎么知道网站的用户是否有 python 代码可以运行?
  • 对不起,我应该添加,该网站也在我的本地机器上运行

标签: javascript python reactjs function api


【解决方案1】:

就像在 shell 中使用命令行运行 python 脚本并使用 stdout 检查结果一样,您可以使用 exec() 函数在 nodejs 中运行 python 脚本。

const { exec } = require('child_process');
exec(`python transformation.py ${query}`, (error, stdout, stderr) => {
  if (error) {
    console.error(`exec error: ${error}`);
    return;
  }
  console.log(`stdout: ${stdout}`); // The output of transformation.py is displayed.
  console.error(`stderr: ${stderr}`);
});

【讨论】:

    猜你喜欢
    • 2022-01-12
    • 2010-12-21
    • 2022-11-23
    • 2021-04-17
    • 1970-01-01
    • 2012-09-11
    • 1970-01-01
    • 1970-01-01
    • 2011-11-17
    相关资源
    最近更新 更多