From 0d8649a1c9b61a2a0e3c6e1d2cf4f5807c30addf Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Tue, 30 Jun 2009 16:17:28 +0000 Subject: #6374: add a bit of explanation about shell=True on Windows. --- Doc/library/subprocess.rst | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Doc/library/subprocess.rst b/Doc/library/subprocess.rst index e5a86e6..b903c8c 100644 --- a/Doc/library/subprocess.rst +++ b/Doc/library/subprocess.rst @@ -73,7 +73,11 @@ This module defines one class called :class:`Popen`: needed: Usually, the program to execute is defined by the *args* argument. If ``shell=True``, the *executable* argument specifies which shell to use. On Unix, the default shell is :file:`/bin/sh`. On Windows, the default shell is - specified by the :envvar:`COMSPEC` environment variable. + specified by the :envvar:`COMSPEC` environment variable. The only reason you + would need to specify ``shell=True`` on Windows is where the command you + wish to execute is actually built in to the shell, eg ``dir``, ``copy``. + You don't need ``shell=True`` to run a batch file, nor to run a console-based + executable. *stdin*, *stdout* and *stderr* specify the executed programs' standard input, standard output and standard error file handles, respectively. Valid values -- cgit v0.12