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
This commit is contained in:
Tim D. Smith 2020-02-10 14:51:01 -08:00 committed by GitHub
parent 37c55b2b49
commit 95d024d585
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 2 deletions

View File

@ -356,14 +356,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()