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.open(file, mode)¶
返回类似对象的文件,打开到 file ,但由管道读取或写入。注意只有一个
'r'
,'w'
可以给出。
- Template.copy(infile, outfile)¶
拷贝 因循守旧 到 输出文件 穿过管道。