Heim  >  Artikel  >  Backend-Entwicklung  >  Wie entfällt die Notwendigkeit, nach der Tastatureingabe in Python die Eingabetaste zu drücken?

Wie entfällt die Notwendigkeit, nach der Tastatureingabe in Python die Eingabetaste zu drücken?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-11 10:26:02734Durchsuche

How to Eliminate the Need to Press Enter After Keyboard Input in Python?

Entfernung der Notwendigkeit, die Eingabetaste bei der Tastatureingabe zu drücken

Bei der Verwendung der raw_input-Funktion von Python für die Benutzerinteraktion in der Shell tritt ein häufiges Problem auf, wenn Benutzer müssen nach Eingabe ihrer Eingabe die Eingabetaste drücken. Um diesen zusätzlichen Schritt zu vermeiden, ziehen Sie die folgenden Lösungen in Betracht:

Für Windows-Umgebungen

Windows-Systeme bieten das msvcrt-Modul, das die Getch-Funktion enthält. Diese Funktion erfasst Tastendrücke ohne Echo an die Konsole und ohne dass die Eingabetaste gedrückt werden muss.

Für Unix-basierte Umgebungen

Unix-Systemen fehlt ein integrierter Getch Funktion, aber eine ähnliche kann mit dem folgenden Rezept erstellt werden:

import termios, fcntl, sys, os

def getch():
    fd = sys.stdin.fileno()
    oldterm = termios.tcgetattr(fd)
    newattr = termios.tcgetattr(fd)
    newattr[3] = newattr[3] & ~termios.ICANON & ~termios.ECHO
    termios.tcsetattr(fd, termios.TCSANOW, newattr)
    c = None
    try:
        c = os.read(fd, 1)
    finally:
        termios.tcsetattr(fd, termios.TCSAFLUSH, oldterm)
    return c

Diese Funktion liest ein einzelnes Zeichen von der Tastatur, ohne dass die Eingabetaste erforderlich ist, und bietet so das gewünschte nahtlose Benutzereingabeerlebnis.

Das obige ist der detaillierte Inhalt vonWie entfällt die Notwendigkeit, nach der Tastatureingabe in Python die Eingabetaste zu drücken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn