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 95d024d585
)
Co-authored-by: Tim D. Smith <github@tim-smith.us>
This commit is contained in:
parent
8ef9e6d59a
commit
e6690f6cd1
|
@ -355,14 +355,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()
|
||||
|
|
Loading…
Reference in New Issue