管道到文件时出现python subprocess.call错误

时间:2015-04-04 22:32:37

标签: python subprocess error-code

我在python 3.4中遇到常见错误,当我调用命令时,请net viewsubprocess.call("net view")的形式返回error code 0(即成功)< / p>

但当我subprocess.call("net view > targets.txt")时,它会返回error code 1(不成功)。

为什么这个错误出现在python中,是否有办法以类似的方式将输出传递给文件?

1 个答案:

答案 0 :(得分:3)

执行所需操作的最简单方法是将stdout重定向到文件对象:

from subprocess import check_call
with open("targets.txt","w" ) as f:
    check_call(["net", "view"], stdout=f)

check_call会引发any non-zero退出状态的错误。