在运行时与 nodejs 应用程序内的 python 脚本交互

大王

您好,我正在尝试在运行时与 nodejs 应用程序内的 python 脚本进行交互。

python 脚本更像是执行称为 yowsup 的 whatsapp 操作的命令中心。https://github.com/tgalal/yowsup/tree/master

我能够在 shell 中运行“Yowsup Cli 客户端”并使用它。但我想在 nodejs 应用程序中运行它,因为它是用 python 编写的,我不擅长 python。

所以我所做的是生成我通常在 shell 中使用的命令,如下所示:

var spawn = require('child_process').spawn,
    ls    = spawn('./yowsup/yowsup-cli', ['demos','--login', '49XXXXXXXXXXX:8bF0hUewVcX1hf6adpuasonFdEP=', '--yowsup', '-E', 's40']);

ls.stdout.on('data', function (data) {
    console.log('stdout: ' + data.toString());
});

ls.stderr.on('data', function (data) {
    console.log('stderr: ' + data.toString());
});

ls.on('exit', function (code) {
    console.log('child process exited with code ' + code.toString());
});

问题是,我没有从这个过程中得到任何数据。python 脚本通常会在开始时打印一些输出,但在进程运行时我无法在节点内获取任何内容。

我查看了 python 脚本,看到输出是这样生成的:

print("%s send '%s'" % (messageProtocolEntity.getFrom(False), messageProtocolEntity.getBody()))

如何在运行时从 python 脚本中获取一些数据?

追赶

这与您的方法略有不同并使用 npm lib,但确实有效(resultsrandom_geo.py脚本的标准输出):

var py = require('python-shell');
var pyOptions = {
  mode: 'text',
  pythonPath: '/opt/local/bin/python',
  scriptPath: '.'
};

function getCoords(req, res, next) {
  py.run('random_geo.py', pyOptions, function(err, results) {
    if (err) {
      console.log(err);
    } else {
      console.log(results);
    }
  });
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在运行时编辑shell脚本和python脚本

如何在运行时在 webpack 应用程序中要求任意本地脚本?

如何在运行时更新python程序

在python脚本中运行powershell脚本,如何使python在运行时打印powershell输出

如何在运行时应用程序中使用OpenCV Python在图像上写文本

如何在 nodejs 应用程序中部署和运行 python 脚本?

当应用程序已经在运行时,如何在基于py2app的Python应用程序中接受“打开文档”事件?

通过python在运行时运行C程序的测试用例

如果我在运行时修改Python脚本,会发生什么?

setBackgroundColor 在 google 应用程序脚本中运行后批处理工作,而它应该在运行时工作

在运行时检测 MSIX 打包的应用程序

在运行时更改Polymer应用程序的主题

在运行时更改应用程序主题

在运行时更改应用程序MainForm

在运行时更改应用程序语言

在运行时设计 Angular 应用程序的样式

Web应用程序:在运行时删除文件

如何在运行时将 C 程序的输出连接到 python 程序

从python脚本运行交互模式

Python:启动终端程序并在运行时解析其输出

如何判断Python程序在运行时启用了__future__的哪些编译指示?

在运行时编辑shell脚本

在运行时替换Shell脚本

在运行时确定Python的实现?

在运行时更改python mro

NodeJS应用程序的Socket.io实时运行时间?

JDBC程序在运行时的MySQLNonTransientConnectionException

如何与正在运行的Python脚本进行交互

Python脚本运行时间太长?