Szukaj…


Uwagi

Curses to podstawowy moduł obsługujący terminal (lub wyświetlanie znaków) firmy Python. Można to wykorzystać do tworzenia interfejsów użytkownika lub interfejsów użytkownika opartych na terminalu.

To jest port python popularniejszej biblioteki C „ncurses”

Podstawowy przykład wywołania

import curses
import traceback

try:
    # -- Initialize --
    stdscr = curses.initscr()   # initialize curses screen
    curses.noecho()             # turn off auto echoing of keypress on to screen
    curses.cbreak()             # enter break mode where pressing Enter key
                                #  after keystroke is not required for it to register
    stdscr.keypad(1)            # enable special Key values such as curses.KEY_LEFT etc
    
    # -- Perform an action with Screen --
    stdscr.border(0)
    stdscr.addstr(5, 5, 'Hello from Curses!', curses.A_BOLD)
    stdscr.addstr(6, 5, 'Press q to close this screen', curses.A_NORMAL)

    while True:
        # stay in this loop till the user presses 'q'
        ch = stdscr.getch()
        if ch == ord('q'):
            break

    # -- End of user code --

except:
    traceback.print_exc()     # print trace back log of the error
    
finally:
    # --- Cleanup on exit ---
    stdscr.keypad(0)
    curses.echo()
    curses.nocbreak()
    curses.endwin()

Funkcja pomocnicza wrapper ().

Chociaż powyższe podstawowe wywołanie jest dość łatwe, pakiet curses zapewnia funkcję pomocniczą wrapper(func, ...) . Poniższy przykład zawiera odpowiednik powyższego:

main(scr, *args):
    # -- Perform an action with Screen --
    scr.border(0)
    scr.addstr(5, 5, 'Hello from Curses!', curses.A_BOLD)
    scr.addstr(6, 5, 'Press q to close this screen', curses.A_NORMAL)

    while True:
        # stay in this loop till the user presses 'q'
        ch = scr.getch()
        if ch == ord('q'):
    
curses.wrapper(main)

Tutaj wrapper zainicjuje przekleństwa, utworzy stdscr , WindowObject i przekaże zarówno stdscr, jak i wszelkie dalsze argumenty do func . Gdy func powróci, wrapper przywróci terminal przed zamknięciem programu.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow