[解決済み] 出力バッファリング無効化
2022-03-16 21:09:44
質問
Python のインタプリタでは、出力バッファリングはデフォルトで
sys.stdout
?
もし答えが肯定的なら、それを無効にするすべての方法は何ですか?
これまでの提案
-
を使用します。
-u
コマンドラインスイッチ -
ラップ
sys.stdout
を書き込むたびにフラッシュするオブジェクトで -
セット
PYTHONUNBUFFERED
環境変数 -
sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)
に何らかのグローバルフラグを設定する他の方法はありますか?
sys
/
sys.stdout
実行中にプログラム的に?
解決方法は?
から メーリングリストでのMagnus Lyckaの回答 :
バッファリングをスキップすることができます。 python プロセスは "python -u" を使ってください。 (または#!/usr/bin/env python -u など)または 環境変数 pythonunbufferedです。
また、sys.stdoutを次のように置き換えることもできます。 他のストリームのようなラッパーで は、呼び出すたびにフラッシュを実行します。
class Unbuffered(object): def __init__(self, stream): self.stream = stream def write(self, data): self.stream.write(data) self.stream.flush() def writelines(self, datas): self.stream.writelines(datas) self.stream.flush() def __getattr__(self, attr): return getattr(self.stream, attr) import sys sys.stdout = Unbuffered(sys.stdout) print 'Hello'
関連
-
Python Pillow Image.save jpg画像圧縮問題
-
[解決済み】TypeError: unhashable type: 'numpy.ndarray'.
-
[解決済み】 AttributeError("'str' object has no attribute 'read'")
-
[解決済み] Bashで標準出力と標準エラーの両方をファイルにリダイレクトして追記する方法
-
[解決済み] print関数の出力をフラッシュする(pythonの出力をバッファリング解除する)にはどうすればよいですか?
-
[解決済み] 出力をファイルや標準出力にリダイレクトする方法
-
[解決済み] シェルコマンドの実行と出力のキャプチャ
-
[解決済み] Pythonの警告を無効化する方法は?
-
[解決済み] PandasのGroupByの出力をSeriesからDataFrameに変換する
-
[解決済み】Pandas DataFrameのより多くの列を見るために出力表示を拡大する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python百行で韓服サークルの画像クロールを実現する
-
Pythonの画像ファイル処理用ライブラリ「Pillow」(グラフィックの詳細)
-
[解決済み】「RuntimeError: dictionary changed size during iteration」エラーを回避する方法とは?
-
[解決済み】なぜ「LinAlgError: Grangercausalitytestsから「Singular matrix」と表示されるのはなぜですか?
-
[解決済み】numpyの配列連結。"ValueError:すべての入力配列は同じ次元数でなければならない"
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み】TypeError: re.findall()でバイトのようなオブジェクトに文字列パターンを使用することはできません。)
-
[解決済み】TypeError: 系列を <class 'float'> に変換することができません。
-
[解決済み】インポートエラー。モジュール名 urllib2 がない
-
[解決済み】Flask ImportError: Flask という名前のモジュールがない