Eryk Sun <[email protected]> added the comment:
With a stock Windows system, `subprocess.check_output(['echo', "'hello'"])`
fails because there is no "echo.exe". That's a 3rd party program that you
installed. `subprocess.check_output("echo 'hello'", shell=True)` uses the CMD
shell's internal `echo` command, which doesn't strip quotes from the string.
subprocess.list2cmdline implements quoting that's meant for applications that
use the VC++ [w]main argv array, or the CommandLineToArgvW WinAPI function. It
can't take into account custom command-line parsing of all applications. If
this echo.exe doesn't work right with an args list, then use a custom command
line -- *without* shell=True.
----------
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue25815>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com