mieki256's diary



2017/09/16() [n年前の日記]

#2 [python][windows] Python + curses を試す

pi3d を Raspberry Pi上で動かすと、キーボード入力を curses なるもので取得するようで。何ができるモジュールなのかよく分からなかったので、少し試してみようと。

Windows10 x64上でサンプルスクリプトを動かそうとしたら、「_curses なんてモジュールはねえよ」と怒られてしまった。どうやら Windows版Pythonの場合、別途 curses をインストールしないといかんらしい。

_Python で Curses のサンプルを書いてみた - quwaharaの日記

自分が使ってるのは Python 2.7.12 なので、 _Python Extension Packages for Windows - Christoph Gohlke から、curses-2.2-cp27-none-win32.whl をDL。pipでインストール。
pip install curses-2.2-cp27-none-win32.whl
これで、Windows上でも curses が使えるようになった。

_curses_sample.py
u"""
curses sample.

キー入力を取得して表示する。
ESCキーかqキーで終了。

Windows10 x64 + Python 2.7.12 32bit + curses 2.2
"""

import curses
import os


def main(win):
    u"""メイン処理."""
    win.nodelay(True)
    key = ""
    win.clear()
    win.addstr("Detected key:")
    while 1:
        try:
            key = win.getkey()
            win.clear()
            win.addstr("Detected key:")
            win.addstr(str(key))
            if key == os.linesep or key == "q" or ord(key) == 27:
                break
        except Exception as e:
            # No input
            pass


curses.wrapper(main)

python curses_sample.py で実行したら、押したキーが表示された。一応キー入力を取得することはできるらしい。ESCキーかqキーを押せば終了。

しかし…。コレってキーの同時押しを取得できないのでは…。1文字ずつ入力されることを前提にしてるような…。

ちなみに、上記スクリプトは VMware + Ubuntu Linux 16.04 LTS上でも動いた。Linux上ではデフォルトインストール状態で動いてしまうのだな…。ズルイ…。

以上です。

過去ログ表示

Prev - 2017/09 - Next
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project