Python Language
Maldiciones básicas con pitón
Buscar..
Observaciones
Curses es un módulo básico de manejo de terminal (o visualización de caracteres) de Python. Esto se puede utilizar para crear interfaces de usuario basadas en terminal o TUI.
Este es un puerto python de una biblioteca C más popular 'ncurses'
Ejemplo básico de invocación
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 función de ayuda wrapper ().
Si bien la invocación básica anterior es bastante fácil, el paquete curses proporciona la wrapper(func, ...)
ayuda de wrapper(func, ...)
. El siguiente ejemplo contiene el equivalente de arriba:
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)
Aquí, la envoltura inicializará las cursas, creará stdscr
, un objeto WindowObject y pasará ambos stdscr, y cualquier argumento adicional a func
. Cuando la func
vuelve, la wrapper
restaurará el terminal antes de que el programa salga.
Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow