Python subprocess.check_output接收额外的换页符(0x0c)字符

时间:2013-12-19 13:08:40

标签: python windows svn subprocess chromium

>>> 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开始,因为它适用于其他所有人。谷歌搜索这个问题什么都没有。

1 个答案:

答案 0 :(得分:0)

doctorlove 的评论之后,我想查看subprocess.check_output(['git', '--version'], shell=True)返回的内容。但它甚至没有从cmd发射......出了点问题。 然后我删除了几天前添加的注册表项HKCU\Software\Microsoft\Command Processor\AutoRun。现在一切正常。该密钥应该在cmd启动时处理自动执行批处理脚本,但由于某种原因它在cmd中打破了一些与字符相关的东西。