pipes --- 終端管道接口?

源代碼: Lib/pipes.py

Deprecated since version 3.11, will be removed in version 3.13: The pipes module is deprecated (see PEP 594 for details). Please use the subprocess module instead.


pipes 定義了一個(gè)類用來抽象 pipeline 的概念 --- 將數(shù)據(jù)從一個(gè)文件轉(zhuǎn)到另一文件的轉(zhuǎn)換器序列。

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

可用性: Unix。 在 VxWorks 上不可用。

pipes 模塊定義了以下的類:

class pipes.Template?

對(duì)管道的抽象。

示例:

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

模板對(duì)象?

模板對(duì)象有以下方法:

Template.reset()?

將一個(gè)管道模板恢復(fù)為初始狀態(tài)。

Template.clone()?

返回一個(gè)新的等價(jià)的管道模板。

Template.debug(flag)?

如果 flag 為真值,則啟用調(diào)試。 否則禁用調(diào)試。 當(dāng)啟用調(diào)試時(shí),要執(zhí)行的命令會(huì)被打印出來,并且會(huì)給予終端 set -x 命令以輸出更詳細(xì)的信息。

Template.append(cmd, kind)?

在末尾添加一個(gè)新的動(dòng)作。 cmd 變量必須為一個(gè)有效的 bourne 終端命令。 kind 變量由兩個(gè)字母組成。

第一個(gè)字母可以為 '-' (這表示命令將讀取其標(biāo)準(zhǔn)輸入), 'f' (這表示命令將讀取在命令行中給定的文件) 或 '.' (這表示命令將不讀取輸入,因而必須放在前面。)

類似地,第二個(gè)字母可以為 '-' (這表示命令將寫入到標(biāo)準(zhǔn)輸出), 'f' (這表示命令將寫入在命令行中給定的文件) 或 '.' (這表示命令將不執(zhí)行寫入,因而必須放在末尾。)

Template.prepend(cmd, kind)?

在開頭添加一個(gè)新的動(dòng)作。 請(qǐng)參閱 append() 獲取相應(yīng)參數(shù)的說明。

Template.open(file, mode)?

返回一個(gè)文件類對(duì)象,打開到 file,但是將從管道讀取或?qū)懭搿?請(qǐng)注意只能給出 'r', 'w' 中的一個(gè)。

Template.copy(infile, outfile)?

通過管道將 infile 拷貝到 outfile