以下の内容はhttps://shuzo-kino.hateblo.jp/entry/2023/01/19/235802より取得しました。


BrokenPipeErrorがでたらSIGPIPEを付けるとなんとかなるかも

標準出力に処理結果を出す系のPythonスクリプトを書き、netcatで飛ばそうとしたところ

BrokenPipeError: [Errno 32]

なるエラーが。
要するにパイプの受け渡しに失敗しているのは分かるのですが、じゃあどうすれば……?
答えはPython標準ライブラリのsignalにありました。

実際のところ

# 標準出力のエラー処理を抑制
# ないとBrokenPipeError: [Errno 32]がでる
from signal import signal, SIGPIPE, SIG_DFL
signal(SIGPIPE, SIG_DFL)

「標準出力をnetcatにつないで飛ばす」ケースの別の解法

受け手にも細工する必要がありますが……
出力元を問い合わせに応えるWEBサーバとし、受け手側から問い合わせてクエリを処理するという方法が考えられます。
JSONなら、requestsライブラリで受けて処理すると楽かも。
shuzo-kino.hateblo.jp




以上の内容はhttps://shuzo-kino.hateblo.jp/entry/2023/01/19/235802より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14