Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

pythonにPIPEの結果をわたす

pythonは色々便利なライブラリだのリファ実装だのがあって便利ですよね。
ただ、ちょっとしたデータをファイルから読んだり、すでに作成済みなシェルスクリプトと連動するときには少々面倒です。
pythonが入る環境なら大抵シェル環境はあるわけで、それならパイプ繋ぎをしたくなるのが人情というもの。
pythonをパイプに繋ぐ方法はいくつかありそうですが、
今回はお手軽"-c"オプションを併用したスタイルでやってみます。

実際のところ

$ echo 12 45 | python3 -c "import sys;  item=sys.stdin.read().split(); print(int(item[0]) + int(item[1]))"

この程度のサンプルだとAWKの方が速度も実装も早く旨味も少ないでしょうが、
パイプの途中で豊富なライブラリ群を用いた中間処理なんてケースで役立つ場合もありそうです。