複数のパイプステップを含む、Python から UNIX システムで実行されるコマンドをコンパイルしています。例えば:
grep foo myfile | cmd1 | cmd2 > output
foo
これらは、 fromを持つエントリの一連の変換に対応しますmyfile
。モジュールによって実行されるコマンドとして構築することもあれば、モジュールos.system
を使用して構築することもあります。subprocess
Python から、パイプの各部分でエラー チェックを行うにはどうすればよいですか? たとえば、99% のケースでfoo
エントリがmyfile
あり、残りのパイプは機能します。ただし、何らかの理由でmyfile
存在するがfoo
エントリが含まれていない場合は、空のファイルをパイプしているため残りのパイプが壊れ、残りのコマンドが機能するには空でない入力が必要です。これにより、壊れたパイプの出力しか表示されず、どの中間ステップが失敗したかがわからないため、デバッグが困難になります。
Python で中間ステップをエラーチェックするパイプを構築する方法はありますか? たとえばgrep
、パイプの部分に実際に何らかの出力が含まれていること、の入力のcmd1
出力にgrep
も何らかの出力が含まれていることなどを確認しますか? ありがとう。