我正在尝试从标准输入中非阻塞地读取单个字符。我找到了 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/