Movatterモバイル変換
[0]ホーム
[Python-Dev] subprocess shell=True on Windows doesn't escape ^character
anatoly techtoniktechtonik at gmail.com
Wed Jun 11 22:26:26 CEST 2014
I am banned from tracker, so I post the bug here:Normal Windows behavior: >hg status --rev ".^1" M mercurial\commands.py ? pysptest.py >hg status --rev .^1 abort: unknown revision '.1'!So, ^ is an escape character. Seehttp://www.tomshardware.co.uk/forum/35565-45-when-special-command-lineBut subprocess doesn't escape it, making cross-platform command fail onWindows.---[cut pysptest.py]--import subprocess as sp# this fails with# abort: unknown revision '.1'!cmd = ['hg', 'status', '--rev', '.^1']# this works#cmd = 'hg status --rev ".^1"'# this works too#cmd = ['hg', 'status', '--rev', '.^^1']try: print sp.check_output(cmd, stderr=sp.STDOUT, shell=True)except Exception as e: print e.output-------------------------------- anatoly t.-------------- next part --------------An HTML attachment was scrubbed...URL: <http://mail.python.org/pipermail/python-dev/attachments/20140611/57620b52/attachment.html>
More information about the Python-Devmailing list
[8]ページ先頭