Input Pengguna Terhad Masa dengan Input Mentah
Dalam Python, fungsi raw_input() boleh digunakan untuk menggesa pengguna untuk input. Walau bagaimanapun, mungkin terdapat senario di mana anda ingin mengehadkan masa menunggu untuk input pengguna bagi mengelak daripada menahan atur cara selama-lamanya.
Penyelesaian Menggunakan Pemasa Benang
Untuk silang- platform dan penyelesaian khusus Windows, anda boleh menggunakan threading.Timer daripada modul threading. Import modul yang diperlukan:
import thread import threading
Tentukan fungsi yang dipanggil raw_input_with_timeout:
def raw_input_with_timeout(prompt, timeout=30.0): print(prompt, end=' ') timer = threading.Timer(timeout, thread.interrupt_main) astring = None try: timer.start() astring = input(prompt) except KeyboardInterrupt: pass timer.cancel() return astring
Fungsi ini mencetak gesaan, memulakan pemasa dan menggesa input pengguna menggunakan input. Jika pengguna mengambil masa lebih lama daripada tamat masa yang ditentukan untuk memasukkan, pemasa mengganggu urutan utama, menyebabkan pengecualian KeyboardInterrupt dinaikkan. Pemasa dibatalkan untuk mengelakkan gangguan selanjutnya.
Jika masa input tamat, ia akan mengembalikan Tiada. Jika pengguna memberikan input sebelum tamat masa, ia akan mengembalikan rentetan yang dimasukkan.
Nota:
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Input Pengguna Terhad Masa dalam Python Menggunakan `raw_input()`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!