In Python2 era, we could use these code to write the file without buffer:

file = open('my.txt', 'w', 0)
file.write('hello')

But in Python3 we can only write binary file by disabling buffer:

file = open('my.txt', 'wb', buffering = 0)
file.write('hello'.encode('utf-8'))

The only way to write text file without buffering is:

file = open('my.txt', 'w')
file.write('hello')
file.flush()

Adding ‘flush()’ everywhere is a terrible experience for a programmer who need to migrate his code from Python2 to Python3. I really want to know: what’s in Python3’s developers mind ?