Python で標準入力を非バッファ モードに切り替えて、標準入力から 1 文字を読み取れるようにする必要がありました。私はなんとかそれを機能させましたが、今では標準出力が壊れています:改行文字の後にいくつかのスペース文字が出力され、最初の行にゼロ、2番目に3、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)