从cudin读取单个字符的Python curses会影响print语句的输出

Nic*_*ski 3 python curses

我正在尝试从标准输入执行单个字符的非阻塞读取.我找到了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
Run Code Online (Sandbox Code Playgroud)

除缩进输出外,一切都完美无瑕.有没有什么办法解决这一问题?

Kar*_*tel 5

看起来使用curses,'\n'只是一个换页.您可能还需要输出回车符,或者显式使用curses来重新定位游标.