ホームページ >バックエンド開発 >Python チュートリアル >Python でタイミングキーボード入力を実装するにはどうすればよいですか?

Python でタイミングキーボード入力を実装するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-14 09:50:11921ブラウズ

How Can I Implement Timed Keyboard Input in Python?

時間制限付きキーボード入力: 迅速なソリューション

プログラミングの領域では、多くの場合、時間を設定しながらユーザーに入力を求めることが必要になります。制約。このシナリオは、ユーザー入力応答の継続時間を制御する必要がある場合に発生します。しかし、これを効果的に実現するにはどうすればよいでしょうか?

タイムアウト付き入力: 課題の再考

タイムアウト付きのキーボード入力を実装しようとするいくつかの試みは、障害に直面しました。たとえば、http://mail.python.org/pipermail/python-list/2006- January/533215.html で参照されているメール スレッドでは、解決策が提案されています。ただし、これらのメソッドでは、次のようなエラーが発生することがよくあります。「: [raw_]input は最大 1 つの引数が必要ですが、2 つありました。」

解決策: パワーを利用するof Select

前のアプローチは有望に見えるかもしれませんが、select を使用すると、より簡潔で移植可能なソリューションを見つけることができます。 call:

import sys, select

print("You have ten seconds to answer!")

i, o, e = select.select([sys.stdin], [], [], 10)

if (i):
    print("You said", sys.stdin.readline().strip())
else:
    print("You said nothing!")

このコードは、賢い回避策を示しています。実際に読み取ることなく、入力の準備ができているかどうかを確認します。 10 秒のタイムアウト以内に入力が利用可能な場合は、入力の読み取りと表示が続行されます。入力が受信されない場合は、時間内に応答しなかったことをユーザーに通知します。

このアプローチは堅牢で、さまざまなプラットフォーム間で移植可能であり、タイムアウトを使用してキーボード入力を管理するクリーンで効率的な方法を提供します。したがって、次回、プロンプトに応答する時間をユーザーに制限したい場合は、選択呼び出しの威力を考慮してください。

以上がPython でタイミングキーボード入力を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。