Это происходит потому, что команда sys.std.write
перезаписывает выходные данные. Выходы очищаются только при вызове sys.stdout.flush()
. Хотя эта команда также просто очищает буфер данных , который является временной областью, в которой python временно хранит данные. Следовательно, нажатие на него просто поместит курсор на новую строку, то есть эквивалент \n
символа новой строки.
Итак, в основном вам нужно написать \n
символ новой строки в конце строки, чтобы показать все входные данные.
Кроме того, если вы хотите очистить консоль, вы можете использовать os.system('clear')
.
Вы можете использовать следующий код для более чистого вывода.
import os
import sys
import time
a, b, c = 1, 5, 10
while True:
sys.stdout.write(f"a:{a} b:{b} c:{c}\n")
time.sleep(3)
a += 1
b += 1
c += 1
#clear console
os.system('clear')