Есть что-то, чего я не получаю, когда пишу sys.stdout в Python.Что я хочу написать некоторые строки в stdout, не предваряя материал, который уже был написан до этого.Очистка старых данных из sys.stdout в Python
Так как это сделать:
while True:
sys.stdout.write("k")
sys.stdout.flush()
sys.stdout.write("d")
После некоторых данных «К» было написано в стандартный вывод в цикле мне нужно написать некоторые новые данные впоследствии, что «d» для примера. Я получаю: «k d» на выходе. «K» из записи цикла все еще находится в режиме stdout.
То, что я хочу получить, это просто «d».
Почему? Как я могу удалить stdout, прежде чем записывать в него новые данные?
Btw, используя print(), вместо этого накапливает старые данные в конечный результат.
Использование Python 2.7 на Linux
Я не уверен, что понял вопрос. Что именно вы подразумеваете под «очисткой» stdout? Что должно произойти с материалом, уже написанным на консоль? – NPE
См. Мое обновление.Я просто хочу увидеть в терминале последнюю написанную строку –
Ну, конечно, 'k' печатается. Вы напечатали его, а затем поверх этого вы сбросили «stdout», чтобы заставить его печатать сразу! Если вы не хотите, чтобы что-то печаталось, не печатайте ... это? – kindall