Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonのkeyboardモジュールの使い方を徹底解説!キーボード操作を自動化しよう

本記事では、Python 3.x(およびそれ以前のバージョン)で利用できるkeyboardモジュールの使い方について詳しく解説します。キーボード入力の自動化や制御を行いたい方にとって、非常に便利なライブラリなので、ぜひ最後までご覧ください。

推奨開発環境

動作確認には Jupyter Notebook の使用を推奨します。対話形式でコードを実行しながら挙動を確かめるのに適しています。

インストール方法

keyboardモジュールは、pipコマンドを使って簡単にインストールできます。

>>> pip install keyboard

なお、このモジュールはOSレベルでキーボードイベントをフックするため、Windowsでは管理者権限が必要な場合があります。Linux環境ではroot権限での実行が求められる点に注意してください。

keyboardモジュールの主な機能

  • 特定のキーの操作をブロック(無効化)できる
  • クリックリスナー(on click listener)を使って、キーボードからの入力イベントを管理できる
  • クロスプラットフォーム対応(Windows・macOS・Linuxで動作)
  • 特殊キーやホットキー(ショートカットキー)に対応

それでは、実際のコード例を見ていきましょう。

サンプルコード①:文字入力とキー操作の基本

import keyboard
# 文字列を入力する
class="notranslate">keyboard.write("Tutorialspoint\n")
# キーを押して離す操作を実行
class="notranslate">keyboard.press_and_release('shift + o, shift + y, \n')
class="notranslate">keyboard.press_and_release('k, j')
# Ctrlキーが押されるまで処理を待機
class="notranslate">keyboard.wait('Ctrl')

実行結果

Tutorialspoint
O Y
k j

サンプルコード②:別のキー組み合わせでの実行例

import keyboard
# 文字列を入力する
class="notranslate">keyboard.write("tutor\n")
# Shiftキーとの組み合わせで大文字を入力
class="notranslate">keyboard.press_and_release('shift + a, shift + w, \n')
class="notranslate">keyboard.press_and_release('q, u')
# Enterキーが押されるまで処理を待機
class="notranslate">keyboard.wait('Enter')

実行結果

tutor
A W
q u

応用:recordメソッドとplayメソッドによるキー操作の記録・再生

keyboardモジュールには、record() メソッドと play() メソッドも用意されています。これらを使うことで、キーボードの操作履歴を記録し、後からその操作をそのまま再生することが可能です。コンソールに直接インポートして利用できるため、作業の自動化やマクロ作成にも活用できます。

さらに詳しい仕様やAPIについては、公式ドキュメント(https://pypi.org/project/keyboard/)を参照してください。

まとめ

本記事では、Python 3.xにおけるkeyboardモジュールの基本的な使い方を紹介しました。write() による文字列入力、press_and_release() によるキー操作のエミュレート、wait() による特定キーの待機など、キーボード操作をプログラムから制御できる点が大きな魅力です。RPA的な自動化ツールやテストスクリプトの作成など、さまざまな場面で役立つので、ぜひ実際に試してみてください。

  1. Pythonのgetpassモジュールとは?パスワード入力とユーザー名取得の基本を解説

    Pythonの標準ライブラリには、ターミナル上で動作するアプリケーションにおいて、ユーザーの認証情報を検証してから処理を実行したい場合に役立つgetpassモジュールが用意されています。このモジュールには主に2つの関数が定義されており、セキュリティを意識したコマンドラインツールの開発に欠かせない存在です。 getpass() 関数:パスワードを安全に入力する getpass()関数は、ユーザーにパスワードの入力を促すための関数です。デフォルトでは、ターミナルに入力されたキーは画面に表示(エコー)されないため、第三者にパスワードを盗み見られる心配がありません。 また、プロンプトとして表示される

  2. Pythonモジュールのインストール方法を徹底解説!pipの基本的な使い方

    Pythonで開発を行う際、外部ライブラリやモジュールを利用したい場面は多くあります。Pythonモジュールをインストールする最良かつ推奨される方法は、Python公式のパッケージ管理ツールであるpipを使用することです。 1. pipがすでにインストールされているか確認しよう python.orgから配布されているPython 2(2.7.9以上)またはPython 3(3.4以上)をインストールしている場合は、pipとsetuptoolsはすでに同梱されています。ただし、セキュリティや機能の観点から、必ず最新バージョンへアップグレードしておきましょう。 LinuxまたはmacOSの場合 p