pipes —シェルパイプラインへのインターフェース
ソースコード: :source: `Lib / pipes.py`
pipes モジュールは、 pipeline の概念を抽象化するクラスを定義します—あるファイルから別のファイルへのコンバーターのシーケンス。
モジュールは / bin / sh コマンドラインを使用するため、 os.system()および os.popen()用のPOSIXまたは互換性のあるシェルが必要です。
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 がtrueの場合、デバッグをオンにします。 それ以外の場合は、デバッグをオフにします。 デバッグがオンの場合、実行されるコマンドが出力され、シェルには
set -x
コマンドが与えられてより詳細になります。
- Template.append(cmd, kind)
最後に新しいアクションを追加します。 cmd 変数は、有効なBourneシェルコマンドである必要があります。 kind 変数は2文字で構成されています。
最初の文字は、
'-'
(コマンドが標準入力を読み取ることを意味します)、'f'
(コマンドがコマンドラインで特定のファイルを読み取ることを意味します)、または [X179Xのいずれかです。 ](つまり、コマンドは入力を読み取らないため、最初に入力する必要があります。)同様に、2番目の文字は、
'-'
(コマンドが標準出力に書き込むことを意味します)、'f'
(コマンドがコマンドラインにファイルを書き込むことを意味します)、または [のいずれかになります。 X188X](これは、コマンドが何も書き込まないため、最後でなければならないことを意味します。)
- Template.prepend(cmd, kind)
- 最初に新しいアクションを追加します。 引数の説明については、 append()を参照してください。
- Template.open(file, mode)
- file に対して開かれているが、パイプラインからの読み取りまたはパイプラインによって書き込まれたファイルのようなオブジェクトを返します。
'r'
、'w'
のいずれか1つのみを指定できることに注意してください。
- Template.copy(infile, outfile)
- パイプを介して infile を outfile にコピーします。