pipes --- 终端管�接�¶

�代�: Lib/pipes.py

从 3.11 版起�建议使用,将在 3.13 版中移除: pipes 模�已被弃用(请�阅 PEP 594 了解详情)。 请改用 subprocess 模�。


pipes 定义了一个类用�抽象 pipeline 的概念 --- 将数�从一个文件转到�一文件的转�器�列。

由于模�使用了 /bin/sh 命令行,因此�求有 POSIX 或兼容 os.system() 和 os.popen() 的终端程�。

�用性: 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 为真值,则�用调试。 �则�用调试。 当�用调试时,�执行的命令会被打�出�,并且会给予终端 set -x 命令以输出更详细的信�。

Template.append(cmd, kind)¶

在末尾添加一个新的动作。 cmd ��必须为一个有效的 bourne 终端命令。 kind ��由两个字�组�。

第一个字��以为 '-' (这表示命令将读�其标准输入), 'f' (这表示命令将读�在命令行中给定的文件) 或 '.' (这表示命令将�读�输入,因而必须放在��。)

类似地,第二个字��以为 '-' (这表示命令将写入到标准输出), 'f' (这表示命令将写入在命令行中给定的文件) 或 '.' (这表示命令将�执行写入,因而必须放在末尾。)

Template.prepend(cmd, kind)¶

在开头添加一个新的动作。 请�阅 append() 获�相应�数的说明。

Template.open(file, mode)¶

返回一个文件型对象,打开到 file,但是将从管�读�或写入。 请注��能给出 'r', 'w' 中的一个。

Template.copy(infile, outfile)¶

通过管�将 infile 拷�到 outfile。