サーチ…


備考

Cursesは、Pythonの基本的な端末(または文字表示)処理モジュールです。これは、ターミナルベースのユーザーインターフェイスまたはTUIを作成するために使用できます。

これは、より一般的なCライブラリ 'ncurses'のPythonポートです

基本的な呼び出しの例

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, ...)ヘルパー関数を提供し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を作成し、stdscrとfuncそれ以上の引数を渡します。 funcが返ってくると、 wrapperはプログラムが終了する前に端末を復元します。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow