Python 2 поддерживает небуферизованный ввод/вывод текста.
Тот же подход не работает в python 3. Почему был отключен небуферизованный текстовый ввод-вывод?
> import sys
> sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)
builtins.ValueError: can't have unbuffered text I/O
Двоичный файл все еще отлично работает:
> sys.stdout = os.fdopen(sys.stdout.fileno(), 'wb', 0) # works fine