summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorJohannes Gijsbers <jlg@dds.nl>2004-10-11 18:12:20 (GMT)
committerJohannes Gijsbers <jlg@dds.nl>2004-10-11 18:12:20 (GMT)
commit9fc9789a0d0bd83f3c49fc2837555d022cf52014 (patch)
treeacbd62ef55224ccf26aa93a68f58e7d7a8c1d3d8 /Lib
parentc054a8b1a99c15146c9f2092172d04e5c832ffff (diff)
downloadcpython-9fc9789a0d0bd83f3c49fc2837555d022cf52014.zip
cpython-9fc9789a0d0bd83f3c49fc2837555d022cf52014.tar.gz
cpython-9fc9789a0d0bd83f3c49fc2837555d022cf52014.tar.bz2
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')
-rw-r--r--Lib/os.py18
-rw-r--r--Lib/popen2.py66
2 files changed, 62 insertions, 22 deletions
diff --git a/Lib/os.py b/Lib/os.py
index 8839c10..65b1830 100644
--- a/Lib/os.py
+++ b/Lib/os.py
@@ -611,6 +611,12 @@ otherwise return -SIG, where SIG is the signal that killed it. """
if _exists("fork"):
if not _exists("popen2"):
def popen2(cmd, mode="t", bufsize=-1):
+ """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_stdin, child_stdout) are returned."""
import popen2
stdout, stdin = popen2.popen2(cmd, bufsize)
return stdin, stdout
@@ -618,6 +624,12 @@ if _exists("fork"):
if not _exists("popen3"):
def popen3(cmd, mode="t", bufsize=-1):
+ """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_stdin, child_stdout, child_stderr) are returned."""
import popen2
stdout, stdin, stderr = popen2.popen3(cmd, bufsize)
return stdin, stdout, stderr
@@ -625,6 +637,12 @@ if _exists("fork"):
if not _exists("popen4"):
def popen4(cmd, mode="t", bufsize=-1):
+ """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_stdin, child_stdout_stderr) are returned."""
import popen2
stdout, stdin = popen2.popen4(cmd, bufsize)
return stdin, stdout
diff --git a/Lib/popen2.py b/Lib/popen2.py
index acba602..3f84bf9 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