Maison > développement back-end > Tutoriel Python > Comment puis-je recueillir les entrées des utilisateurs en Python sans avoir besoin de la touche Entrée ?

Comment puis-je recueillir les entrées des utilisateurs en Python sans avoir besoin de la touche Entrée ?

Susan Sarandon
Libérer: 2024-11-08 16:05:02
original
282 Les gens l'ont consulté

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

Collecte des entrées de l'utilisateur sans nécessiter d'appuyer sur la touche Entrée

Lors de l'interaction avec les utilisateurs dans un shell à l'aide de raw_input en Python, les utilisateurs doivent généralement appuyez sur la touche Entrée après avoir saisi leur réponse. Cela peut être gênant, surtout si vous souhaitez rationaliser le processus de saisie. Voici comment réaliser cela sur les machines *nixes :

Windows

Pour Windows, vous aurez besoin du module msvcrt, en particulier de la fonction msvcrt.getch(). Cette fonction lit une pression sur une touche et renvoie le caractère résultant sans le renvoyer à la console. Il bloque l'exécution si une pression sur une touche n'est pas déjà disponible mais n'attend pas Entrée.

import msvcrt

c = msvcrt.getch()
if c.upper() == 'S':
    print('YES')
Copier après la connexion

Unix

Pour les systèmes basés sur Unix, pensez à utiliser la fonction getch à partir de la recette suivante :

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
Copier après la connexion

Cette fonction désactive la mise en mémoire tampon du terminal, permettant une saisie par simple pression sur une seule touche sans attendre la touche Entrée.

En implémentant ces approches, vous pouvez recueillir les entrées des utilisateurs dans votre Scripts Python sans avoir besoin d'appuyer sur Entrée, améliorant ainsi l'expérience utilisateur lors des interactions shell.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal