pipes ---与壳牌管道的接口

源代码: Lib/pipes.py


这个 pipes 模块定义一个类来抽象 管道 ---从一个文件到另一个文件的转换器序列。

因为模块使用 /bin/sh 命令行、posix或兼容的shell os.system()os.popen() 是必需的。

Availability :UNIX。在VxWorks上不可用。

这个 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'

模板对象

模板对象以下方法:

Template.reset()

将管道模板还原到其初始状态。

Template.clone()

返回新的等效管道模板。

Template.debug(flag)

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

Template.append(cmd, kind)

在末尾附加一个新操作。这个 cmd 变量必须是有效的bourne shell命令。这个 kind 变量由两个字母组成。

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

同样,第二个字母可以是 '-' (这意味着命令写入标准输出) 'f' (这意味着命令在命令行中写入文件)或 '.' (这意味着命令不写任何内容,因此必须是最后一个。)

Template.prepend(cmd, kind)

在开始处添加新操作。参见 append() 解释参数。

Template.open(file, mode)

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

Template.copy(infile, outfile)

拷贝 因循守旧输出文件 穿过管道。