現在のプロジェクトでは、stdoutに依存するバージョンまたは少なくともフォーマットされたstdoutをログファイルに書き込む方法を見つける必要があります。現在、私はsubprocess.Popen(exec、stdout = log)を使用しています。これは、フォーマットされていないファイルに書き込みます。
私が得た最良のアイデアは、stdoutをインターセプトし、カスタムモジュールに再ルーティングし、ifとelifの組み合わせを使用して独自の文字列をログに書き込むことにより、出力をオンザフライでフォーマットすることでした。しかし、ドキュメントでPython3でこれを行う方法を見つけることができませんでした。私が見つけた最も適切な答えはこの質問にありました、受け入れられた答えはすでにちょっと近いです。
しかし、 stdout=classとして使用する必要があるクラスをどのように正確に構築する必要があるかを理解できていません。これらのメソッドのどれが入力を受け取りますか(そしてそれはどのようにフォーマットされますか)?これらの方法のどれが必要ですか?それとも、私がやりたいことを達成するためのもっと簡単な方法があるでしょうか?