Ответ 1
От python --help
:
-u : unbuffered binary stdout and stderr; also PYTHONUNBUFFERED=x see man page for details on internal buffering relating to '-u'
В manpage указано:
-u Force stdin, stdout and stderr to be totally unbuffered. On systems where it matters, also put stdin, stdout and stderr in binary mode. Note that there is internal buffering in xreadlines(), readlines() and file-object iterators ("for line in sys.stdin") which is not influenced by this option. To work around this, you will want to use "sys.stdin.readline()" inside a "while 1:" loop.
Python открывает потоки stdin, -out и -error в буферизованном режиме; он будет читать или писать в больших кусках, сохраняя данные в памяти до тех пор, пока не будет достигнут порог. -u
отключает эти буферы.
Кроме того, python может интерпретировать новые строки в открытых файлах и переводить их с и на новую строку новой строки (текстовый режим). Опция -u
отключает этот перевод, позволяя обрабатывать двоичные данные, не беспокоясь о том, что может произойти с комбинациями \r\n
. Это эквивалентно использованию режимов rb
или wb
при открытии файлов с помощью функции open()
.