On Wed, Jan 29, 2014 at 4:09 AM, Nick Coghlan <[email protected]> wrote:
> call()/check_call()/check_output() -- don't know. >> > > Those are three very common patterns for invoking child processes, so well > worth supporting. You could probably live without the "shell=True" variants > and make people drop down to the lower level API for shell invocation, > though. > Hm. I've worked with code written by others that used these (or homegrown variants) extensively -- the Python code was almost like a shell script. I think the shell variants are actually pretty popular and useful (e.g. to specify I/O redirections or pipelines). I think the string/list ambiguity isn't too bad if we enforce the constraints that if shell=True there's a single string, and if shell=False there's a list of strings -- subprocess's lenient type checking in some cases seems to be the core of the problem here. -- --Guido van Rossum (python.org/~guido)
