使用诅咒实时显示字符串

2024-09-28 17:28:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个字符串,打印时是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?你知道吗


Tags: key字符串inimportforrangescreencurses