From: Georg Brandl Date: Tue, 30 Jun 2009 16:17:28 +0000 (+0000) Subject: #6374: add a bit of explanation about shell=True on Windows. X-Git-Tag: v2.7a1~871 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0d8649a1c9b61a2a0e3c6e1d2cf4f5807c30addf;p=python #6374: add a bit of explanation about shell=True on Windows. --- diff --git a/Doc/library/subprocess.rst b/Doc/library/subprocess.rst index e5a86e6512..b903c8caf7 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