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

标签 python curses

我正在尝试从标准输入中非阻塞地读取单个字符。我找到了 curses 库的解决方案,但在尝试将输出写回标准输出时我做错了。

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

除了缩进输出外,一切都完美无缺。有什么办法可以解决这个问题吗?

最佳答案

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

关于Python curses 从 stdin 读取单个字符会影响 print 语句的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7409582/

相关文章:

python - 如何调整 curses pad 的大小?

python - 在 curses 中打印到标准控制台

python - 如何使这个 Twisted Python 代理更快?

python - 对原始字符串进行编码,以便将其解码为 json

python - 如何在 Django 中自动更改模型字段

python - 返回为 JSON 字符串数组而不是键值数组

Python:如果它与键完全匹配,如何从字典中删除一个值?

c - 在curses窗口中执行bash命令

c - 使用 curses 绘制简单的盒子

c++ - ncurses、menu.h 和 current_item() 的问题