Movatterモバイル変換
[0]ホーム
[Python-Dev] subprocess shell=True on Windows doesn't escape ^character
Nikolaus RathNikolaus at rath.org
Fri Jun 13 04:11:07 CEST 2014
"R. David Murray" <rdmurray at bitdance.com> writes:> Also notice that using a list with shell=True is using the API> incorrectly. It wouldn't even work on Linux, so that torpedoes> the cross-platform concern already :)>> This kind of confusion is why I openedhttp://bugs.python.org/issue7839.Can someone describe an use case where shell=True actually makes senseat all?It seems to me that whenever you need a shell, the argument's that youpass to it will be shell specific. So instead of e.g.Popen('for i in `seq 42`; do echo $i; done', shell=True)you almost certainly want to doPopen(['/bin/sh', 'for i in `seq 42`; do echo $i; done'], shell=False)because if your shell happens to be tcsh or cmd.exe, things are going tobreak.Best,-Nikolaus-- GPG encrypted emails preferred. Key id: 0xD113FCAC3C4E599FFingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F »Time flies like an arrow, fruit flies like a Banana.«
More information about the Python-Devmailing list
[8]ページ先頭