我正在使用 execSync 从 Node 内执行 python 脚本像这样:
execSync('python myScript.py -o "/dev/stdout"');
我的脚本会将结果发送到 -o
指定的文件,在本例中是 /dev/stdout
。
我收到错误消息“没有这样的设备或地址:'/dev/stdout'”。
如果我从终端手动执行命令,它可以正常运行,但通过 Node 启动时则无法运行。
我运行的是 Ubuntu 12.04。
最佳答案
当您在终端中运行命令时,/dev/stdout
重定向到终端 stdout
。当您使用 execSync 生成 python 进程时,没有地方可以将 stdout 重定向到。
如果您进一步阅读 execsync 页面,它描述了如何使用 child process' stdout
关于python - 没有这样的设备或地址: '/dev/stdout' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40288461/