Почему sys.stdout.write ('\ b') не обращается к символам новой строки?

Для сравнения:

for item in range(0, 5): sys.stdout.write('c') for item in range(0, 5): sys.stdout.write('\b') 

Работает так, как вы себе представляете, но:

 for item in range(0, 5): sys.stdout.write('\n') for item in range(0, 5): sys.stdout.write('\b') 

все еще оставляет вас с пятью символами новой строки. Есть идеи?

3 Solutions collect form web for “Почему sys.stdout.write ('\ b') не обращается к символам новой строки?”

Сегодня может показаться разумным ожидать, что backspace сможет работать над символами новой строки на консоли, но это не будет обратно совместимо с телетайпами, поскольку нет обратной линии перевода.

Речь идет о поведении окон консоли: backspaces работают только внутри линии, они не будут делать резервные копии поверх строк новой строки.

Это абсолютно не имеет отношения к Python. Это ваш консольный драйвер, который обрабатывает любые визуальные эффекты. Большинство из них будут эмулировать телетайп ASR33 … backspace означает, если возможно, переместить печатающую головку на одно место обратно в исходное положение.

Python - лучший язык программирования в мире.