標準出力 (stdout) を Python のファイルにリダイレクトする
SSH セッション中にバックグラウンドで実行される可能性がある長時間実行される Python スクリプトを扱う場合、閉じられた SSH 接続によって引き起こされる出力エラーを防ぐ方法を見つけることが重要です。解決策の 1 つは、stdout をファイルにリダイレクトし、セッションが終了してもアプリケーションとそのモジュールが出力の書き込みを継続できるようにすることです。
方法 1: sys.stdout を使用する
1 つの方法では、sys.stdout をファイル オブジェクトに再割り当てします。
import sys with open('somefile', 'w') as sys.stdout: print('test')
このアプローチは簡単そうに見えますが、すべての外部モジュールが端末に出力されるのを防ぐことはできません。
方法 2: シェル リダイレクトを使用する
より一般的に使用される方法は、 Python スクリプト実行時のシェル リダイレクト。これは、Windows と Linux システムの両方で機能します。
$ python3 foo.py > file
「>」を使用することで、オペレータの場合、スクリプトの標準出力は指定されたファイルにリダイレクトされ、すべての出力が端末ではなくそこで確実にキャプチャされます。
以上がSSH 接続の問題を防ぐために、Python の標準出力をファイルにリダイレクトするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。