Apabila berinteraksi dengan pengguna dalam shell menggunakan raw_input dalam Python, pengguna biasanya dikehendaki untuk tekan kekunci Enter selepas memasukkan respons mereka. Ini boleh menyusahkan, terutamanya jika anda ingin menyelaraskan proses input. Begini cara untuk melakukannya dalam mesin *nixes:
Untuk Windows, anda memerlukan modul msvcrt, khususnya fungsi msvcrt.getch(). Fungsi ini membaca tekan kekunci dan mengembalikan aksara yang terhasil tanpa menggemakannya ke konsol. Ia menyekat pelaksanaan jika penekanan kekunci belum tersedia tetapi tidak menunggu Enter.
import msvcrt c = msvcrt.getch() if c.upper() == 'S': print('YES')
Untuk sistem berasaskan Unix, pertimbangkan untuk menggunakan fungsi getch daripada resipi berikut:
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
Fungsi ini melumpuhkan penimbal terminal, membenarkan input tekan kekunci tunggal tanpa menunggu kekunci Enter.
Dengan melaksanakan pendekatan ini, anda boleh mengumpulkan input pengguna dalam anda Skrip Python tanpa perlu menekan Enter, meningkatkan pengalaman pengguna semasa interaksi shell.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengumpul Input Pengguna dalam Python Tanpa Memerlukan Kunci Enter?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!