python - 没有这样的设备或地址: '/dev/stdout'

标签 python node.js python-2.7 ubuntu ubuntu-12.04

我正在使用 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/

相关文章:

Python Tkinter : Attempt to get widget size

python hashlib sha224 - 输入中不支持的字符

python - 返回名称包含字符串的所有文件的函数

javascript - 如何从 fs.Dirent 获取类型?

node.js - java.net.SocketInputStream.read(来源未知)处的连接重置 - Node.js - Azure 文件服务

javascript - 下面的代码块在我的异步等待完成之前执行

python - 如何使用 BeautifulSoup 和 Python 仅从相似元素中提取某些文本

python - 在 Pygame 中获取旋转图像的旋转矩形

java - 将 Python 网络代码转换为 Java

python - 如何使用 pandas 的 eval 函数计算两个日期列之间的天数?