Python Language
Pythonでの基本的な呪い
サーチ…
備考
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