Python Language
Maledizioni di base con Python
Ricerca…
Osservazioni
Maledizioni è un modulo di gestione terminale (o di visualizzazione caratteri) di base di Python. Questo può essere usato per creare interfacce utente o TUI basate su terminale.
Questa è una porta Python di una libreria C più popolare 'ncurses'
Esempio di chiamata di 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 funzione helper wrapper ().
Mentre l'invocazione base sopra è abbastanza semplice, il pacchetto curses fornisce la wrapper(func, ...)
helper wrapper(func, ...)
. L'esempio seguente contiene l'equivalente di sopra:
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)
Qui, wrapper inizializzerà curses, creerà stdscr
, un WindowObject e passerà sia a stdscr che a qualsiasi ulteriore argomento per func
. Quando func
ritorna, wrapper
ripristinerà il terminale prima che il programma esca.
Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow