>>> subprocess.check_output(['svn', '--version', '--quiet'], shell=True)
'\x0c1.6.16\r\n'
>>> subprocess.check_output(['svn', '--version', '--quiet'])
'1.6.16\r\n'
在Windows上,Python 2.7,当shell=True
传递给subprocess.check_output
时,我会得到一个额外的\x0c
字符。这不是预期的行为,因为它会从depot_tools中断掉Chromium的gclient.py。它试图检查svn版本是否最小1.4,并且它被0x0c感到惊讶。然后一切都爆炸了。
我不知道为什么会发生这种情况,这是什么意思。我该如何解决这个问题?我不想从黑客攻击gclient.py开始,因为它适用于其他所有人。谷歌搜索这个问题什么都没有。
答案 0 :(得分:0)
在 doctorlove 的评论之后,我想查看subprocess.check_output(['git', '--version'], shell=True)
返回的内容。但它甚至没有从cmd发射......出了点问题。
然后我删除了几天前添加的注册表项HKCU\Software\Microsoft\Command Processor\AutoRun
。现在一切正常。该密钥应该在cmd启动时处理自动执行批处理脚本,但由于某种原因它在cmd中打破了一些与字符相关的东西。