Recherche…


Remarques

Curses est un module de gestion de terminal (ou d'affichage de caractères) de base de Python. Cela peut être utilisé pour créer des interfaces utilisateur ou des interfaces utilisateur basées sur un terminal.

Ceci est un port python d'une bibliothèque C plus populaire 'ncurses'

Exemple d'invocation de base

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()

La fonction d'assistance wrapper ().

Bien que l'invocation de base ci-dessus soit assez facile, le paquet curses fournit la wrapper(func, ...) aide wrapper(func, ...) . L'exemple ci-dessous contient l'équivalent de ci-dessus:

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)

Ici, wrapper initialisera les curses, créera stdscr , un WindowObject et transmettra à la fois stdscr et tout autre argument à func . Lorsque func revient, wrapper restaure le terminal avant la fin du programme.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow