Skip to content

Commit e6690f6

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 8ef9e6d commit e6690f6

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
@@ -355,14 +355,20 @@ functions.
355355
arguments for additional differences from the default behavior. Unless
356356
otherwise stated, it is recommended to pass *args* as a sequence.
357357

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

362367
.. note::
363368

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

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

0 commit comments

Comments
 (0)