如果ret
为0,那么因为我有关于标准错误输出(stderr)的数据?
#!/usr/bin/env python
from subprocess import call
f = open('/tmp/err.log','wb')
ret = call[(['git', 'checkout', 'master'], stderr=f)
if ret == 0: print 'Success!'
在某些git命令中会发生这种情况。在这个例子中,我已经在主分支中。
答案 0 :(得分:1)
我无法完全理解你的问题,但我认为你在问
"如果我得到0的返回代码,为什么我在stderror中有数据"我会编辑这个问题,但老实说我不确定。
我认为您的问题的答案是:stderror并不一定意味着命令中存在错误。
例如,使用--progress标志git获取会将输出发送到stderror
https://www.kernel.org/pub/software/scm/git/docs/git-fetch.html