Bug 3.11.x behavioral, open file buffers not flushed til file closed.

Frank B nospam_2023 at efbe.prima.de
Sun Mar 5 11:37:38 EST 2023


Am 05.03.23 um 15:35 schrieb aapost:
> I have run in to this a few times and finally reproduced it. Whether it 
> is as expected I am not sure since it is slightly on the user, but I can 
> think of scenarios where this would be undesirable behavior.. This 
> occurs on 3.11.1 and 3.11.2 using debian 12 testing, in case the 
> reasoning lingers somewhere else.
> 
> If a file is still open, even if all the operations on the file have 
> ceased for a time, the tail of the written operation data does not get 
> flushed to the file until close is issued and the file closes cleanly.
> 
> 2 methods to recreate - 1st run from interpreter directly:
> 
> f = open("abc", "w")
> for i in range(50000):
>    f.write(str(i) + "\n")

use

with open("abc", "w") as f:
     for i in range(50000):
	f.write(str(i) + "\n")

and all is well

Frank


More information about the Python-list mailing list