]> granicus.if.org Git - python/commitdiff
Issue #13237: remove some details that only apply to the 3.x version of this module...
authorNick Coghlan <ncoghlan@gmail.com>
Wed, 26 Oct 2011 11:15:53 +0000 (21:15 +1000)
committerNick Coghlan <ncoghlan@gmail.com>
Wed, 26 Oct 2011 11:15:53 +0000 (21:15 +1000)
Doc/library/subprocess.rst

index 665b4674103e8dbb2fabd525554b718f8b40b33b..7269768c6ac1060b7e4c144660dd3134435ae657 100644 (file)
@@ -101,9 +101,6 @@ use cases, the underlying :class:`Popen` interface can be used directly.
    Examples::
 
       >>> subprocess.check_output(["echo", "Hello World!"])
-      b'Hello World!\n'
-
-      >>> subprocess.check_output(["echo", "Hello World!"], universal_newlines=True)
       'Hello World!\n'
 
       >>> subprocess.check_output("exit 1", shell=True)
@@ -111,13 +108,6 @@ use cases, the underlying :class:`Popen` interface can be used directly.
          ...
       subprocess.CalledProcessError: Command 'exit 1' returned non-zero exit status 1
 
-   By default, this function will return the data as encoded bytes. The actual
-   encoding of the output data may depend on the command being invoked, so the
-   decoding to text will often need to be handled at the application level.
-
-   This behaviour may be overridden by setting *universal_newlines* to
-   :const:`True` as described below in :ref:`frequently-used-arguments`.
-
    To also capture standard error in the result, use
    ``stderr=subprocess.STDOUT``::
 
@@ -179,10 +169,8 @@ default values. The arguments that are most commonly needed are:
    handle as for stdout.
 
    When *stdout* or *stderr* are pipes and *universal_newlines* is
-   :const:`True` then the output data is assumed to be encoded as UTF-8 and
-   will automatically be decoded to text. All line endings will be converted
-   to ``'\n'`` as described for the universal newlines `'U'`` mode argument
-   to :func:`open`.
+   :const:`True` then all line endings will be converted to ``'\n'`` as
+   described for the universal newlines `'U'`` mode argument to :func:`open`.
 
    If *shell* is :const:`True`, the specified command will be executed through
    the shell. This can be useful if you are using Python primarily for the
@@ -318,6 +306,12 @@ functions.
    If *shell* is :const:`True`, the specified command will be executed through the
    shell.
 
+   .. note::
+
+      Enabling this option can be a security hazard if combined with untrusted
+      input. See the warning under :ref:`frequently-used-arguments`
+      for details.
+
    If *cwd* is not ``None``, the child's current directory will be changed to *cwd*
    before it is executed.  Note that this directory is not considered when
    searching the executable, so you can't specify the program's path relative to