ひゃまだのblog

ひゃまだ(id:hymd3a)の趣味のブログ

python CUIでキー入力

(2020-05-14 初稿 - 2021-05-12 転記・修正)

はじめに

筆者は、CUIで簡単なスクリプトしか作れない。^^;
しかし、入力を促してからすぐに入力を待たずして反応するスクリプトが欲しくwebを検索したら、以下のページがあったのでまずは紹介する。

上記サイトの中で、「そう、やりたいのは、かつてBASICでINKEY$というコマンドで実装していたように」とのくだりがあるが、これを読んだとき、「そう、これこれ」と思わず叫んでしまった。
INKEY$って懐かしいなぁ… 遠い目

早速、掲載されていたスクリプトを実行してみると、期待通りの動きに。
で、blessedはcursesライブラリを使いやすくしたラッパーとのこと、本家に行ってサンプルを見てみると、かなりのことができるよう。

スクリプト

以下の早速スクリプト。期待通りの動作でほんとに最高。
実際のスクリプトの中では、まだ使ったことはないが、これは役に立ちそう。

#!/usr/bin/env python3
#coding: UTF-8

from blessed import Terminal

t = Terminal()
with t.cbreak():
    while True:
        k = t.inkey(timeout=0.001)
        if not k :
            pass
        elif k.is_sequence:
            if k.name == 'KEY_ESCAPE':
                break
                print(f'"{k.name}"が押されました。終了するには「ESC」キーを押してください。')
            else:
                print(f'"{k}"が押されました。終了するには「ESC」キーを押してください。')

おわりに

pythonスクリプトもちょこちょこと作り、なんとなく馴染んできた。
いつも短いスクリプトしか作らないが、今度は少し長いスクリプトに挑戦してみようかな。

関連ページ