Pythonはタイムアウトでユーザー入力を取得します

Ammar Ali 2023年6月21日
Pythonはタイムアウトでユーザー入力を取得します

このチュートリアルでは、Python の inputimeout ライブラリを使用して、タイムアウト期間でユーザーから入力を取得する方法について説明します。

Pythonはタイムアウトでユーザー入力を取得する

5 秒などの特定の期間内にユーザーから入力を受け取りたい場合は、Python の inputimeout ライブラリを使用できます。 pip を使用して、以下のコード行を使用してこのライブラリをインストールできます。

pip install inputimeout

このコマンドを PowerShell またはコマンド プロンプトで実行して、inputimeout ライブラリをインストールできます。 上記のコマンドを実行する前に、pip がインストールされ、PATH に追加されていることを確認してください。

pip がパスに追加されていない場合は、pip.exe ファイルへのフル パスと、PowerShell またはコマンド プロンプトで使用する名前を指定する必要があります。 使用例を以下に示します。

C:\Users\ammar\AppData\Local\Programs\Python\Python39\Scripts\pip.exe install inputimeout

inputimeout がエラーなしでインストールされている場合は、inputimeout および TimeoutOccured モジュールをインポートして、コードで使用できます。 inputimeout() 関数はユーザーからの入力を受け取り、その中に 2つの引数を渡すことができます。

最初の引数 prompt は、入力時にユーザーに表示するメッセージです。 この引数はオプションです。 2 番目の引数 timeout は時間を秒単位で設定するために使用され、関数は指定された時間まで待機します。 その後、例外が発生し、エラーを回避するために try-except ステートメントで使用できる例外名 TimeoutOccured を使用できます。

from inputimeout import inputimeout, TimeoutOccurred

try:
    user_input = inputimeout(prompt="Enter input: \n", timeout=5)
except TimeoutOccurred:
    user_input = "you have not entered any input"
print(user_input)

出力:

Enter input:

you have not entered any input

上記のコードでは、Python の try-except ステートメントを使用して、ユーザーが指定された時間内に何も入力しなかった場合の例外を回避しました。 例外の名前を使用して、入力をデフォルト値などの別のものに設定しました。

ユーザーが入力を入力すると、それが出力されます。指定されたタイムアウト中にユーザーが何も入力しないと、デフォルトの入力が出力されます。 入力は user_input 変数に保存されます。

inputimeout ライブラリの詳細については、この リンク を確認してください。

著者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

関連記事 - Python Input