35.10. pipes - shell管道接口

源代码: Lib / pipes.py

pipes模块定义了抽象管道概念的类 t> - 从一个文件到另一个文件的转换器序列。

Because the module uses /bin/sh command lines, a POSIX or compatible shell for os.system() and os.popen() is required.

pipes模块定义了以下类:

class pipes.Template

管道的抽象。

例:

>>> import pipes
>>> 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'

35.10.1. Template Objects

模板对象方法如下:

Template.reset()

将流水线模板恢复为其初始状态。

Template.clone()

返回一个新的,等效的流水线模板。

Template.debug(flag)

如果标志为真,请打开调试。否则,关闭调试。当调试打开时,打印要执行的命令,并且给予shell set -x命令更详细。

Template.append(cmd, kind)

在结尾添加新操作。cmd变量​​必须是有效的bourne shell命令。种类变量​​由两个字母组成。

第一个字母可以是'-'(这意味着命令读取其标准输入),'f'(这意味着命令读取命令上的给定文件线)或'.'(这意味着命令不读取输入,因此必须是第一个。)

类似地,第二个字母可以是'-'(意味着命令写入标准输出),'f'(这意味着命令将文件写入命令行)或'.'(这意味着命令不会写任何东西,因此必须是最后一个。)

Template.prepend(cmd, kind)

在开始时添加新操作。有关参数的说明,请参见append()

Template.open(file, mode)

返回类似文件的对象,打开文件,但从管道读取或写入。注意,可以仅给出'r''w'中的一个。

Template.copy(infile, outfile)

通过管道将infile复制到outfile