Почему 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') 

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

  • Python: открыть файл, выполнить поиск, а затем добавить, если не существует.
  • Лучшая обработка KeyboardInterrupt в интерпретаторе командной строки cmd.Cmd
  • указать, находится ли python в режиме -i
  • Почему объект модуля io не имеет атрибута «RawIOBase», хотя я использую python 2.6
  • Pyramid 1.3 и Google App Engine 1.7
  • android.bluetooth.BluetoothSocket не может подключиться
  • Имитация «локальной статической» переменной в python
  • Найти файл в python
  • 3 Solutions collect form web for “Почему sys.stdout.write ('\ b') не обращается к символам новой строки?”

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

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

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

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