]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-13826: Clarify Popen constructor example (GH-18438)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Mon, 10 Feb 2020 22:56:14 +0000 (14:56 -0800)
committerGitHub <noreply@github.com>
Mon, 10 Feb 2020 22:56:14 +0000 (14:56 -0800)
Clarifies that the use of `shlex.split` is more instructive than
normative, and provides a simpler example.

https://bugs.python.org/issue13826
(cherry picked from commit 95d024d585bd3ed627437a2f0cbc783c8a014c8a)

Co-authored-by: Tim D. Smith <github@tim-smith.us>
Doc/library/subprocess.rst

index f9ace66295215104c09cca69c5183a9e5e12a8d2..69737820f37d8386efc80bd58af5f46f28c12684 100644 (file)
@@ -354,14 +354,20 @@ functions.
    arguments for additional differences from the default behavior.  Unless
    otherwise stated, it is recommended to pass *args* as a sequence.
 
+   An example of passing some arguments to an external program
+   as a sequence is::
+
+     Popen(["/usr/bin/git", "commit", "-m", "Fixes a bug."])
+
    On POSIX, if *args* is a string, the string is interpreted as the name or
    path of the program to execute.  However, this can only be done if not
    passing arguments to the program.
 
    .. note::
 
-      :meth:`shlex.split` can be useful when determining the correct
-      tokenization for *args*, especially in complex cases::
+      It may not be obvious how to break a shell command into a sequence of arguments,
+      especially in complex cases. :meth:`shlex.split` can illustrate how to
+      determine the correct tokenization for *args*::
 
          >>> import shlex, subprocess
          >>> command_line = input()