pipes --- 終端管道接口?
源代碼: Lib/pipes.py
pipes 定義了一個類用來抽象 pipeline 的概念 --- 將數據從一個文件轉到另一文件的轉換器序列。
由于模塊使用了 /bin/sh 命令行,因此要求有 POSIX 或兼容 os.system() 和 os.popen() 的終端程序。
pipes 模塊定義了以下的類:
-
class
pipes.Template? 對 pipeline 的抽象。
示例:
>>> 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.open(file, mode)? 返回一個文件類對象,打開到 file,但是將從管道讀取或寫入。 請注意只能給出
'r','w'中的一個。
-
Template.copy(infile, outfile)? 通過管道將 infile 拷貝到 outfile。
