Python в режиме raw stdin print добавляет пробелы
Мне нужно было переключить стандартный ввод в небуферизованный режим в Python, чтобы я мог читать с него отдельные символы. Мне удалось заставить его работать, но теперь стандартный вывод не работает: как-то похоже на то, что после символа новой строки выдается несколько пробелов, ноль в первой строке, 3 во второй, 6 на третьей и т. Д. :
ASD
ASD
ASD
Операционная система - Ubuntu Linux 12.04, 64-разрядная версия, версия Python - 3.2.3.
Как я могу избавиться от этого поведения?
Ниже приведен код, который я использовал:
import sys
import tty
import termios
fd = sys.stdin.fileno()
old_settings = termios.tcgetattr(fd)
tty.setraw(sys.stdin)
for i in range(0, 10):
print("ASD")
termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)