Python im Raw-Modus stdin print fügt Leerzeichen hinzu
Ich musste die Standardeingabe in Python in den nicht gepufferten Modus schalten, damit ich einzelne Zeichen daraus lesen kann. Ich habe es geschafft, es zum Laufen zu bringen, aber jetzt ist die Standardausgabe fehlerhaft: Irgendwie sieht es so aus, als würden nach dem Zeilenumbruch einige Leerzeichen ausgegeben, Null in der ersten Zeile, 3 in der zweiten, 6 in der dritten usw. :
ASD
ASD
ASD
Betriebssystem ist Ubuntu Linux 12.04, 64-Bit-Edition, Python-Version ist 3.2.3.
Wie kann ich mich von diesem Verhalten befreien?
Unten ist der Code, den ich verwendet habe:
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)