我正在编写一个脚本来自动执行一些GIT任务.我知道GITPython但我更喜欢不使用它.即使是艰难也可能更容易.
我得到了以下代码:
def executeCommand(cmd):
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE)
out, error = p.communicate()
if not error:
return out.strip()
else:
print repr(out)
print repr(error)
print "Stopping execution!\r"
exit(0)
Run Code Online (Sandbox Code Playgroud)
给出命令的这段代码['git', 'checkout', 'master']确实检查了主人.但它会停止执行,显然是因为错误变量不为空.我试图在错误上打印输出,如下所示:
"Your branch is up-to-date with 'origin/master'.\n"
"Switched to branch 'master'\n"
Stopping execution!
Run Code Online (Sandbox Code Playgroud)
如您所见,它成功检查了主分支(也通过验证git status).但为什么第二行填入错误变量?怎么办呢?或者没有办法正确处理这个?或者我不应该做任何错误检查?对此最好的解决方案/解释是什么?
谢谢!