我用python写了一个curses程序。它运行良好。但是,当我使用 时nodelay(),程序在终端启动后立即退出,根本没有显示任何内容(只是一个新提示)。
编辑
此代码将重现该错误:
sc = curses.initscr()
sc.nodelay(1) # 但是去掉这行可以让程序正常运行
对于范围内的愤怒(20):
sc.addstr(愤怒,1,“嗨”)
这是我的完整代码
导入诅咒,时间,系统,随机
定义油漆(x,y,i):
#...
定义字符串(s,y):
#...
定义饲料():
#...
sc = curses.initscr()
curses.start_color()
curses.curs_set(0)
sc.nodelay(1) ########################################
# vars + 颜色初始化
对于范围内的愤怒(20):
尝试:
dir = chr(sc.getch())
sc.clear()
喂养()
#很多ifs
body.append([x, y])
body.pop(0)
对于身体点:
油漆(*点,我=2)
sc.move(height-1, 1)
sc.refresh()
时间.睡眠(等待)
例外为 e:
打印 sys.exc_info()[0], e
sc.getch()
诅咒.beep()
诅咒.endwin()
为什么会发生这种情况,如何nodelay()安全使用?