Python Language
Основные проклятия с Python
Поиск…
замечания
Curses - это базовый модуль обработки терминала (или символьного отображения) из Python. Это можно использовать для создания пользовательских интерфейсов на терминале или TUI.
Это порт python более популярной библиотеки C-библиотеки ncurses,
Основной пример вызова
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()
Вспомогательная функция wrapper ().
Хотя основной вызов выше достаточно прост, пакет curses предоставляет вспомогательную функцию wrapper(func, ...)
. Пример ниже содержит эквивалент выше:
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)
Здесь обертка будет инициализировать проклятия, создать stdscr
, WindowObject и передать как stdscr, так и любые дополнительные аргументы для func
. Когда func
возвращает, wrapper
будет восстанавливать терминал до выхода программы.
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow