Pythonで標準入出力

Pythonスクリプト間で標準入出力を使ってデータのやり取りをしてみる。

まずは標準入力を受け取る方法。sys.stdin.read()を使う。

今の例では標準入力はshell上から渡したが、Pythonのスクリプト内で別のPythonスクリプトを呼び出し、そのときに標準出力を与える方法を書く。

subprocess.PIPEで標準入出力先にパイプが繋がるようになる。subprocesscommunicate()の引数に文字列を渡すことで自身のスクリプトから標準出力を外部プログラムへ渡すことができ、また外部プログラムの標準出力もcommunicate()の戻り値のはじめの要素から得られる。

ちなみにcommunicate()の戻り値は(stdout_data, stderr_data)なので、stderr=subprocess.PIPEsubprocess.Popen()で設定していれば、戻り値の次の要素からは標準エラー出力が得られる。

-Python