stdin から 1 文字のノンブロッキング読み取りを実行しようとしています。curses ライブラリで解決策を見つけましたが、出力を stdout に書き戻そうとすると何か問題があります。
import curses
from time import sleep
def callback(screen):
screen.nodelay(1)
return screen.getkey()
while 1:
try:
key = curses.wrapper(callback)
print "Got keypress: ", key
except:
sleep(3)
print "No Keypress"
print "Program\nOutput"
# Prints
No Keypress
Program
Output
インデントされた出力を除いて、すべてが問題なく動作します。これを修正する方法はありますか?