수색…


비고

Curses는 Python의 기본 터미널 (또는 문자 디스플레이) 처리 모듈입니다. 이것은 터미널 기반 사용자 인터페이스 또는 TUI를 만드는 데 사용할 수 있습니다.

이것은 대중적인 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)

여기서 래퍼는 curses를 초기화하고 stdscr , WindowObject를 만들고 stdscrfunc 대한 다른 인수를 전달합니다. func 리턴되면 wrapper 는 프로그램이 종료되기 전에 터미널을 복원합니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow