我有一个字符串,打印时是300行长。我的第一个想法是用诅咒来显示字符串。但是字符串是不断变化的,我也希望用户能够滚动每一行。你知道吗
作为一个例子,我有以下代码。。。你知道吗
from itertools import cycle
import curses, contextlib, time
@contextlib.contextmanager
def curses_screen():
"""Contextmanager's version of curses.wrapper()."""
try:
stdscr=curses.initscr()
curses.noecho()
curses.cbreak()
stdscr.keypad(1)
try: curses.start_color()
except: pass
yield stdscr
finally:
stdscr.keypad(0)
curses.echo()
curses.nocbreak()
curses.endwin()
with curses_screen() as stdscr:
pad = curses.newpad(100, 100)
pad.addstr(0,0, curses.longname())
for i in range(1, 90):
pad.addstr(i,0, str(i))
coord = 5, 5, 10, 75
pad.refresh(0, 0, *coord)
KEY_UP, KEY_DOWN = 'AB'
y = 0
for c in iter(pad.getkey, 'q'):
if c in '\x1b\x5b': continue # skip escape seq
y -= (c == KEY_UP)
y += (c == KEY_DOWN)
y = min(max(y, 0), 10)
pad.refresh(y, 0, *coord)
但是,如果本例中的字符串需要显示为
for i in range(11, 99):
print i
我如何更新pad?你知道吗
显而易见的答案是用新文本更新pad,就像用原始文本更新pad一样:
相关问题 更多 >
编程相关推荐