These functions create new file objects.
fd[, mode[, bufsize]]) |
Changed in version 2.3: When specified, the mode argument must now start with one of the letters "r", "w", or "a", otherwise a ValueError is raised.
command[, mode[, bufsize]]) |
'r'
(default) or 'w'
.
The bufsize argument has the same meaning as the corresponding
argument to the built-in open() function. The exit status of
the command (encoded in the format specified for wait()) is
available as the return value of the close() method of the file
object, except that when the exit status is zero (termination without
errors), None
is returned.
Availability: Macintosh, Unix, Windows.
Changed in version 2.0: This function worked unreliably under Windows in earlier versions of Python. This was due to the use of the _popen() function from the libraries provided with Windows. Newer versions of Python do not use the broken implementation from the Windows libraries.
) |
For each of these popen() variants, if bufsize is
specified, it specifies the buffer size for the I/O pipes.
mode, if provided, should be the string 'b'
or
't'
; on Windows this is needed to determine whether the file
objects should be opened in binary or text mode. The default value
for mode is 't'
.
Also, for each of these variants, 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()).
These methods do not make it possible to retrieve the return code from the child processes. The only way to control the input and output streams and also retrieve the return codes is to use the Popen3 and Popen4 classes from the popen2 module; these are only available on Unix.
For a discussion of possible deadlock conditions related to the use of these functions, see ``Flow Control Issues'' (section 6.9.2).
cmd[, mode[, bufsize]]) |
(child_stdin, child_stdout)
.
Availability: Macintosh, Unix, Windows.
New in version 2.0.
cmd[, mode[, bufsize]]) |
(child_stdin, child_stdout, child_stderr)
.
Availability: Macintosh, Unix, Windows.
New in version 2.0.
cmd[, mode[, bufsize]]) |
(child_stdin, child_stdout_and_stderr)
.
Availability: Macintosh, Unix, Windows.
New in version 2.0.
(Note that child_stdin, child_stdout, and
child_stderr
are named from the point of view of the child
process, i.e. child_stdin is the child's standard input.)
This functionality is also available in the popen2 module using functions of the same names, but the return values of those functions have a different order.
See About this document... for information on suggesting changes.