python subprocess.call 管道到文件时出错
python subprocess.call error when pipe to file
我在 python 3.4 中遇到一个常见的错误,当我调用命令时,以以下形式说 net view
:subprocess.call("net view")
returns error code 0
(即成功)
但是当我做 subprocess.call("net view > targets.txt")
它 returns error code 1
(不成功)。
为什么这个错误出现在 python 中,有没有办法以类似的方式将输出通过管道传输到文件?
最简单的方法是将 stdout
重定向到一个文件对象:
from subprocess import check_call
with open("targets.txt","w" ) as f:
check_call(["net", "view"], stdout=f)
check_call
将引发 any non-zero
退出状态的错误。
我在 python 3.4 中遇到一个常见的错误,当我调用命令时,以以下形式说 net view
:subprocess.call("net view")
returns error code 0
(即成功)
但是当我做 subprocess.call("net view > targets.txt")
它 returns error code 1
(不成功)。
为什么这个错误出现在 python 中,有没有办法以类似的方式将输出通过管道传输到文件?
最简单的方法是将 stdout
重定向到一个文件对象:
from subprocess import check_call
with open("targets.txt","w" ) as f:
check_call(["net", "view"], stdout=f)
check_call
将引发 any non-zero
退出状态的错误。