Skip to content

Commit 95d024d

Browse files
authored
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
1 parent 37c55b2 commit 95d024d

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

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

363368
.. note::
364369

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

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

0 commit comments

Comments
 (0)