pipes — Interface to shell pipelines¶
Source code:Lib/pipes.py
Deprecated since version 3.11: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.
Thepipes module defines the following class:
- class
pipes.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.