summaryrefslogtreecommitdiff
path: root/Lib/popen2.py
diff options
context:
space:
mode:
authorJohannes Gijsbers <jlg@dds.nl>2004-10-11 18:12:20 +0000
committerJohannes Gijsbers <jlg@dds.nl>2004-10-11 18:12:20 +0000
commit9fc9789a0d0bd83f3c49fc2837555d022cf52014 (patch)
treeacbd62ef55224ccf26aa93a68f58e7d7a8c1d3d8 /Lib/popen2.py
parentc054a8b1a99c15146c9f2092172d04e5c832ffff (diff)
downloadcpython-git-9fc9789a0d0bd83f3c49fc2837555d022cf52014.tar.gz
Document that on Unix, the 'cmd' argument to the os.popen2/3/4 and
popen2.popen2/3/4 functions can be a sequence. All texts are a variation on the following: On \UNIX, \var{cmd} may be a sequence, in which case arguments will be passed directly to the program without shell intervention (as with \function{os.spawnv()}). If \var{cmd} is a string it will be passed to the shell (as with \function{os.system()}).
Diffstat (limited to 'Lib/popen2.py')
-rw-r--r--Lib/popen2.py66
1 files changed, 44 insertions, 22 deletions
diff --git a/Lib/popen2.py b/Lib/popen2.py
index acba60258b..3f84bf9e85 100644
--- a/Lib/popen2.py
+++ b/Lib/popen2.py
@@ -30,10 +30,14 @@ class Popen3:
def __init__(self, cmd, capturestderr=False, bufsize=-1):
"""The parameter 'cmd' is the shell command to execute in a
- sub-process. The 'capturestderr' flag, if true, specifies that
- the object should capture standard error output of the child process.
- The default is false. If the 'bufsize' parameter is specified, it
- specifies the size of the I/O buffers to/from the child process."""
+ sub-process. On UNIX, 'cmd' may be a sequence, in which case arguments
+ will be passed directly to the program without shell intervention (as
+ with os.spawnv()). If 'cmd' is a string it will be passed to the shell
+ (as with os.system()). The 'capturestderr' flag, if true, specifies
+ that the object should capture standard error output of the child
+ process. The default is false. If the 'bufsize' parameter is
+ specified, it specifies the size of the I/O buffers to/from the child
+ process."""
_cleanup()
p2cread, p2cwrite = os.pipe()
c2pread, c2pwrite = os.pipe()
@@ -120,44 +124,62 @@ if sys.platform[:3] == "win" or sys.platform == "os2emx":
del Popen3, Popen4
def popen2(cmd, bufsize=-1, mode='t'):
- """Execute the shell command 'cmd' in a sub-process. If 'bufsize' is
- specified, it sets the buffer size for the I/O pipes. The file objects
- (child_stdout, child_stdin) are returned."""
+ """Execute the shell command 'cmd' in a sub-process. On UNIX, 'cmd' may
+ be a sequence, in which case arguments will be passed directly to the
+ program without shell intervention (as with os.spawnv()). If 'cmd' is a
+ string it will be passed to the shell (as with os.system()). If
+ 'bufsize' is specified, it sets the buffer size for the I/O pipes. The
+ file objects (child_stdout, child_stdin) are returned."""
w, r = os.popen2(cmd, mode, bufsize)
return r, w
def popen3(cmd, bufsize=-1, mode='t'):
- """Execute the shell command 'cmd' in a sub-process. If 'bufsize' is
- specified, it sets the buffer size for the I/O pipes. The file objects
- (child_stdout, child_stdin, child_stderr) are returned."""
+ """Execute the shell command 'cmd' in a sub-process. On UNIX, 'cmd' may
+ be a sequence, in which case arguments will be passed directly to the
+ program without shell intervention (as with os.spawnv()). If 'cmd' is a
+ string it will be passed to the shell (as with os.system()). If
+ 'bufsize' is specified, it sets the buffer size for the I/O pipes. The
+ file objects (child_stdout, child_stdin, child_stderr) are returned."""
w, r, e = os.popen3(cmd, mode, bufsize)
return r, w, e
def popen4(cmd, bufsize=-1, mode='t'):
- """Execute the shell command 'cmd' in a sub-process. If 'bufsize' is
- specified, it sets the buffer size for the I/O pipes. The file objects
- (child_stdout_stderr, child_stdin) are returned."""
+ """Execute the shell command 'cmd' in a sub-process. On UNIX, 'cmd' may
+ be a sequence, in which case arguments will be passed directly to the
+ program without shell intervention (as with os.spawnv()). If 'cmd' is a
+ string it will be passed to the shell (as with os.system()). If
+ 'bufsize' is specified, it sets the buffer size for the I/O pipes. The
+ file objects (child_stdout_stderr, child_stdin) are returned."""
w, r = os.popen4(cmd, mode, bufsize)
return r, w
else:
def popen2(cmd, bufsize=-1, mode='t'):
- """Execute the shell command 'cmd' in a sub-process. If 'bufsize' is
- specified, it sets the buffer size for the I/O pipes. The file objects
- (child_stdout, child_stdin) are returned."""
+ """Execute the shell command 'cmd' in a sub-process. On UNIX, 'cmd' may
+ be a sequence, in which case arguments will be passed directly to the
+ program without shell intervention (as with os.spawnv()). If 'cmd' is a
+ string it will be passed to the shell (as with os.system()). If
+ 'bufsize' is specified, it sets the buffer size for the I/O pipes. The
+ file objects (child_stdout, child_stdin) are returned."""
inst = Popen3(cmd, False, bufsize)
return inst.fromchild, inst.tochild
def popen3(cmd, bufsize=-1, mode='t'):
- """Execute the shell command 'cmd' in a sub-process. If 'bufsize' is
- specified, it sets the buffer size for the I/O pipes. The file objects
- (child_stdout, child_stdin, child_stderr) are returned."""
+ """Execute the shell command 'cmd' in a sub-process. On UNIX, 'cmd' may
+ be a sequence, in which case arguments will be passed directly to the
+ program without shell intervention (as with os.spawnv()). If 'cmd' is a
+ string it will be passed to the shell (as with os.system()). If
+ 'bufsize' is specified, it sets the buffer size for the I/O pipes. The
+ file objects (child_stdout, child_stdin, child_stderr) are returned."""
inst = Popen3(cmd, True, bufsize)
return inst.fromchild, inst.tochild, inst.childerr
def popen4(cmd, bufsize=-1, mode='t'):
- """Execute the shell command 'cmd' in a sub-process. If 'bufsize' is
- specified, it sets the buffer size for the I/O pipes. The file objects
- (child_stdout_stderr, child_stdin) are returned."""
+ """Execute the shell command 'cmd' in a sub-process. On UNIX, 'cmd' may
+ be a sequence, in which case arguments will be passed directly to the
+ program without shell intervention (as with os.spawnv()). If 'cmd' is a
+ string it will be passed to the shell (as with os.system()). If
+ 'bufsize' is specified, it sets the buffer size for the I/O pipes. The
+ file objects (child_stdout_stderr, child_stdin) are returned."""
inst = Popen4(cmd, bufsize)
return inst.fromchild, inst.tochild