Skip to content

Commit 78982f9

Browse files
bpo-13826: Clarify Popen constructor example (GH-18438)
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 95d024d) Co-authored-by: Tim D. Smith <[email protected]>
1 parent a12effd commit 78982f9

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

Doc/library/subprocess.rst

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -354,14 +354,20 @@ functions.
354354
arguments for additional differences from the default behavior. Unless
355355
otherwise stated, it is recommended to pass *args* as a sequence.
356356

357+
An example of passing some arguments to an external program
358+
as a sequence is::
359+
360+
Popen(["/usr/bin/git", "commit", "-m", "Fixes a bug."])
361+
357362
On POSIX, if *args* is a string, the string is interpreted as the name or
358363
path of the program to execute. However, this can only be done if not
359364
passing arguments to the program.
360365

361366
.. note::
362367

363-
:meth:`shlex.split` can be useful when determining the correct
364-
tokenization for *args*, especially in complex cases::
368+
It may not be obvious how to break a shell command into a sequence of arguments,
369+
especially in complex cases. :meth:`shlex.split` can illustrate how to
370+
determine the correct tokenization for *args*::
365371

366372
>>> import shlex, subprocess
367373
>>> command_line = input()

0 commit comments

Comments
 (0)