旅行好きなソフトエンジニアの備忘録

プログラミングや技術関連のメモを始めました

【C#】【Python】Pythonのprint文出力をC#側に表示したい

Processで起動したPythonプログラムの中で使っているprint文の内容をC#側に表示したいと考えました。 方法は以下の記事に書かれているようにProcessクラスのBeginOutputReadLineで可能です。

zawapro.com

ただ問題はprint文の結果がC#側にリアルタイムで表示されず、Python側のプログラムが終了後に 一気にそれまでのprint文の結果がC#側に表示されました。Python側では処理途中経過をprint文に 表示しているのでこれでは全く意味がありません。

幸いこの問題の解決方法は以下の記事で見つかり、Python3.3以降ではprint文にflushという 引数がおり、これをTrueにすることで即座にprint文の結果がC#側に表示されるようになりました。 qiita.com