节点js子进程python geojson作为参数

时间:2019-02-22 14:46:12

标签: python node.js json geojson child-process

我正在node.js中的postgis数据库上执行sql查询,该查询返回了GEOJSON对象。我想将该GEJSON(作为字符串)传递给同一服务器上的python子进程:

var spawn = require("child_process").spawn;
var process = spawn('python', ['scripts/hello.py', JSON.stringify(geoJson)]);

但是我在节点中收到此错误:

Error: spawn ENAMETOOLONG
       ...

我注意到使用较小的GEOJSON对象没有问题。

我的下一个解决方案是将GEOJSON对象从node.js写入文件,并且仅将路径传递给子进程,但是我想知道是否有更好的解决方案而不使用该临时文件。

1 个答案:

答案 0 :(得分:0)

如何通过stdio流传递数据?

var spawn = require("child_process").spawn;
var process = spawn('python', ['scripts/hello.py']);
process.stdin.end(JSON.stringify(geoJson));