Python Shell管道介面
使用python來使用UNIX命令管道機制。在命令管道中,一個序列將一個檔案轉換為另一個檔案。
此模組使用/bin/sh命令列。因此,我們需要os.system()和os.popen()方法。
要使用此模組,我們應該使用以下方法匯入它:
import pipes
管道包含Template類:
class pipes.Template
此類基本上是管道的抽象。它有不同的方法。如下所示。
方法 Template.reset()
此方法用於將管道模板恢復到其初始位置。
方法 Template.clone()
此方法用於建立另一個新的相同模板物件。
方法 Template.debug(flag)
此方法用於除錯程序。當標誌為真時,除錯模式開啟。開啟時,命令將在執行期間列印。
方法 Template.append(command, kind)
此方法用於在末尾插入一個新的任務。命令必須是bourne shell命令。kind變數包含兩個字元。
對於第一個字母,它表示:
| 序號 | 字元 & 描述 |
|---|---|
| 1 | ‘–‘ 命令讀取標準輸入 |
| 2 | ‘f’ 命令將在命令列上讀取給定的檔案 |
| 3 | ‘.’ 命令不讀取任何輸入。因此它將位於第一個位置。 |
對於第二個字母,它表示。
| 序號 | 字元 & 描述 |
|---|---|
| 1 | ‘–‘ 命令寫入標準輸出 |
| 2 | ‘f’ 命令將在命令列上寫入檔案 |
| 3 | ‘.’ 命令不寫入任何輸出。因此它將位於最後一個位置。 |
方法 Template.prepend(command, kind)
此方法用於在開頭插入一個新的任務。命令必須是bourne shell命令。它類似於append()方法。
方法 Template.open(file, mode)
此方法用於開啟檔案以進行讀取或寫入。但讀取或寫入操作由管道完成。
方法 Template.copy(infile, outfile)
此方法用於透過管道將infile複製到outfile。
示例程式碼
import pipes
my_template = pipes.Template()
my_template.append('tr a-z A-Z', '--')
my_template.prepend('echo Python Programming', '--') #Prepend the item into queue
my_template.append('rev', '--')
my_template.debug(True)
my_file = my_template.open('test_file', 'w')
my_file.close()
content = open('test_file').read()
print(content)
輸出
$ python3 example.py echo Python Programming | tr a-z A-Z | rev >test_file + rev + tr a-z A-Z + echo Python Programming GNIMMARGORP NOHTYP
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP