(2020-05-14 初稿 - 2020-08-20 転記・追記)
筆者は、いつも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のスクリプトもちょこちょこと作り、なんとなく馴染んできました。
いつも短いスクリプトしか作らないのですが、今度は少し長いスクリプトに挑戦してみようかと思います。