はあなたが標準出力にバイナリデータを記述する必要があるとしましょう:Python:sys.stdout.flush()とsys.stdout.buffer.flush()?
sys.stdout.buffer.write(data)
そして、それをフラッシュするためには、これらの2のいずれかを使用することができます。
sys.stdout.flush()
sys.stdout.buffer.flush()
これらの二つの呼び出しの両方が同じように動作するように見えます簡単な状況でしかしながら:
最初のものは、第二つだけ
buffer
サブオブジェクト(_io.BufferedWriter
)上でフラッシュ呼び出す全体stdout
オブジェクト(_io.TextIOWrapper
)にフラッシュ呼び出します。
いずれか一方が他方よりも優先される状況は何ですか?
より完全な答えを得るために 'sys.stdout.buffer'の代わりに' BufferedIOBase'を使用する方法の例を挙げることができますか? (私は新しいオブジェクトを作成しなければならないか、議論は何かなど) – user7501761
あなたが合理的に尋ねた質問に私は答えたと思います。 'BufferedIOBase'クラスの使い方を知りたければ、[これらのようなリソース](http://www.programcreek.com/python/example/26237/io.BufferedIOBase)をいつでも見ることができます。 – loganasherjones