diff options
author | Georg Brandl <georg@python.org> | 2007-08-15 14:28:01 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2007-08-15 14:28:01 (GMT) |
commit | 8ec7f656134b1230ab23003a94ba3266d7064122 (patch) | |
tree | bc730d5fb3302dc375edd26b26f750d609b61d72 /Doc/library/pipes.rst | |
parent | f56181ff53ba00b7bed3997a4dccd9a1b6217b57 (diff) | |
download | cpython-8ec7f656134b1230ab23003a94ba3266d7064122.zip cpython-8ec7f656134b1230ab23003a94ba3266d7064122.tar.gz cpython-8ec7f656134b1230ab23003a94ba3266d7064122.tar.bz2 |
Move the 2.6 reST doc tree in place.
Diffstat (limited to 'Doc/library/pipes.rst')
-rw-r--r-- | Doc/library/pipes.rst | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/Doc/library/pipes.rst b/Doc/library/pipes.rst new file mode 100644 index 0000000..1f2b2ff --- /dev/null +++ b/Doc/library/pipes.rst @@ -0,0 +1,92 @@ + +:mod:`pipes` --- Interface to shell pipelines +============================================= + +.. module:: pipes + :platform: Unix + :synopsis: A Python interface to Unix shell pipelines. +.. sectionauthor:: Moshe Zadka <moshez@zadka.site.co.il> + + +The :mod:`pipes` module defines a class to abstract the concept of a *pipeline* +--- a sequence of converters from one file to another. + +Because the module uses :program:`/bin/sh` command lines, a POSIX or compatible +shell for :func:`os.system` and :func:`os.popen` is required. + +The :mod:`pipes` module defines the following class: + + +.. class:: Template() + + An abstraction of a pipeline. + +Example:: + + >>> import pipes + >>> t=pipes.Template() + >>> t.append('tr a-z A-Z', '--') + >>> f=t.open('/tmp/1', 'w') + >>> f.write('hello world') + >>> f.close() + >>> open('/tmp/1').read() + 'HELLO WORLD' + + +.. _template-objects: + +Template Objects +---------------- + +Template objects following methods: + + +.. method:: Template.reset() + + Restore a pipeline template to its initial state. + + +.. method:: Template.clone() + + Return a new, equivalent, pipeline template. + + +.. method:: Template.debug(flag) + + If *flag* is true, turn debugging on. Otherwise, turn debugging off. When + debugging is on, commands to be executed are printed, and the shell is given + ``set -x`` command to be more verbose. + + +.. method:: Template.append(cmd, kind) + + Append a new action at the end. The *cmd* variable must be a valid bourne shell + command. The *kind* variable consists of two letters. + + The first letter can be either of ``'-'`` (which means the command reads its + standard input), ``'f'`` (which means the commands reads a given file on the + command line) or ``'.'`` (which means the commands reads no input, and hence + must be first.) + + Similarly, the second letter can be either of ``'-'`` (which means the command + writes to standard output), ``'f'`` (which means the command writes a file on + the command line) or ``'.'`` (which means the command does not write anything, + and hence must be last.) + + +.. method:: Template.prepend(cmd, kind) + + Add a new action at the beginning. See :meth:`append` for explanations of the + arguments. + + +.. method:: Template.open(file, mode) + + Return a file-like object, open to *file*, but read from or written to by the + pipeline. Note that only one of ``'r'``, ``'w'`` may be given. + + +.. method:: Template.copy(infile, outfile) + + Copy *infile* to *outfile* through the pipe. + |