実際にfile.write()とfile.flush()の違いは何ですか?Python:file.write()とfile.flush()
Python's official documentationから、私はこれを取得:
フラッシュを()強制は、生のストリームにバッファに保持されたバイト。 A 生ストリームがブロックする場合は、BlockingIOErrorを発生させる必要があります。
write(b)バイト状オブジェクトbを書き込み、書き込まれた バイトの数を返します。ノンブロッキングモードでは、BufferIOErrorはバッファを書き出す必要があるがRawストリームブロックの場合は になります。
私の初心者の理解のために、彼らは両方とも現在メモリに保持されている情報をディスク上のファイルに転送します。しかし、write()との違いは、どれだけの情報が格納されたかの情報も返しますが、flush()はすぐにこのタスクを実行します。あれは正しいですか? どのような場合に、flush()にwrite()を適用するのが好ましいでしょうか?
しかし、 'flush'は引数をとりません...それらは全く同じではありません。コピーしたドキュメントには 'write'の引数があり、' flush'の引数はありません。 'flush'は' write'を使って書き込まれたデータを強制的にメディアにダンプします。 –
両方の機能を試しましたか?彼らは別のことをすることが明らかになるはずです。 – mkrieger1
'write()'は、プログラムからのデータをIOサブシステムに送ります.IOサブシステムにバッファリングされます。 'flush()'は、バッファされたデータをコミットすることをIOサブシステムに指示します。 –