Странная работа print() с параметром end
from time import sleep
print('2 + ', end='')
sleep(1)
print('2 = ', end='')
sleep(1)
print('4')
Почему при вручную заданном значении end печать будет производиться лишь при достижении 7 строки, но если оставить его стандартным или вписать end='\n', то все будет работать так, как задумывалось?
Ответы (1 шт):
Автор решения: Pavel Durmanov
→ Ссылка
Как сказал @andreymal, вывод буферизуется по строкам, можно либо добавлять flush=True в print, либо установить переменную окружения export PYTHONUNBUFFERED=1 чтобы достичь того же эффекта но глобально.
Также можно запускать так: PYTHONUNBUFFERED=1 python main.py