ホームページ > バックエンド開発 > Python チュートリアル > Enter キーを必要とせずに Python でユーザー入力を収集するにはどうすればよいですか?

Enter キーを必要とせずに Python でユーザー入力を収集するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-08 16:05:02
オリジナル
290 人が閲覧しました

How Can I Gather User Input in Python Without Requiring the Enter Key?

Enter キーを押すことなくユーザーから入力を収集

Python で raw_input を使用してシェルでユーザーと対話する場合、ユーザーは通常、次のことを行う必要があります。回答を入力したら Enter キーを押してください。これは、特に入力プロセスを効率化したい場合には不便になる可能性があります。 *nixes マシンでこれを実現する方法は次のとおりです。

Windows

Windows の場合、msvcrt モジュール、特に msvcrt.getch() 関数が必要になります。この関数はキー押下を読み取り、結果の文字をコンソールにエコーせずに返します。キー押下がまだ利用可能でない場合は実行をブロックしますが、Enter を待機しません。

import msvcrt

c = msvcrt.getch()
if c.upper() == 'S':
    print('YES')
ログイン後にコピー

Unix

Unix ベースのシステムの場合は、getch 関数の使用を検討してください。次のレシピから:

def getch():
    """
    getch() -> key character

    Read a single keypress without echoing to the console.
    """
    import tty
    import sys

    fd = sys.stdin.fileno()
    old_settings = tty.tcgetattr(fd)
    try:
        tty.setraw(fd)
        ch = sys.stdin.read(1)
    finally:
        tty.tcsetattr(fd, tty.TCSADRAIN, old_settings)
    return ch
ログイン後にコピー

この関数は端末のバッファリングを無効にし、入力を待たずに 1 回のキー入力を可能にします。 Enter キー。

これらのアプローチを実装すると、Enter キーを押すことなく Python スクリプトでユーザー入力を収集でき、シェル対話中のユーザー エクスペリエンスが向上します。

以上がEnter キーを必要とせずに Python でユーザー入力を収集するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート