我已经忍受了诅咒。我尝试用它编写的所有内容都会以某种方式失败,无论是屏幕未正确更新,用户输入全都崩溃还是addstr无缘无故失败。在我写的最新文章中,我注意到一对窗口的一些有趣行为。这是产生相同效果的示例:
import curses
import time
def main(term):
# Window with border of 5 to edge of terminal
win = curses.newwin(curses.LINES-10, curses.COLS-10, 5, 5)
# Fill with "O", using insstr to get around the bottom-right corner problem
for y in range(curses.LINES-10):
win.insstr(y, 0, "O"*(curses.COLS-10))
win.refresh()
time.sleep(1)
term.refresh()
time.sleep(1)
win.refresh()
time.sleep(1)
curses.wrapper(main)
我希望发生的是:
3永远不会发生。刷新term
是否意味着win
被删除了?如果是这样,这是否会打败Windows作为独立数据结构的观点?如果我想重新显示文本区域而不必用addstr
或insstr
调用来重写每一位,那该怎么办?显然,我误解了有关诅咒的一些基本知识,但是每次我想我都知道那是另一种情节扭曲出现的时候。