pipes — Interface to shell pipelines¶
Source code:Lib/pipes.py
Deprecated since version 3.11, will be removed in version 3.13:Thepipes module is deprecated(seePEP 594 for details).Please use thesubprocess module instead.
Thepipes module defines a class to abstract the concept of apipeline— a sequence of converters from one file to another.
Because the module uses/bin/sh command lines, a POSIX or compatibleshell foros.system() andos.popen() is required.
Availability: Unix, not VxWorks.
Thepipes module defines the following class:
- classpipes.Template¶
An abstraction of a pipeline.
Example:
>>>importpipes>>>t=pipes.Template()>>>t.append('tr a-z A-Z','--')>>>f=t.open('pipefile','w')>>>f.write('hello world')>>>f.close()>>>open('pipefile').read()'HELLO WORLD'
Template Objects¶
Template objects following methods:
- Template.reset()¶
Restore a pipeline template to its initial state.
- Template.clone()¶
Return a new, equivalent, pipeline template.
- Template.debug(flag)¶
Ifflag is true, turn debugging on. Otherwise, turn debugging off. Whendebugging is on, commands to be executed are printed, and the shell is given
set-xcommand to be more verbose.
- Template.append(cmd,kind)¶
Append a new action at the end. Thecmd variable must be a valid bourne shellcommand. Thekind variable consists of two letters.
The first letter can be either of
'-'(which means the command reads itsstandard input),'f'(which means the commands reads a given file on thecommand line) or'.'(which means the commands reads no input, and hencemust be first.)Similarly, the second letter can be either of
'-'(which means the commandwrites to standard output),'f'(which means the command writes a file onthe command line) or'.'(which means the command does not write anything,and hence must be last.)
- Template.prepend(cmd,kind)¶
Add a new action at the beginning. See
append()for explanations of thearguments.
- Template.open(file,mode)¶
Return a file-like object, open tofile, but read from or written to by thepipeline. Note that only one of
'r','w'may be given.
- Template.copy(infile,outfile)¶
Copyinfile tooutfile through the pipe.