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:

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 givenset-x command 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. Seeappend() 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.