Bagaimanakah Saya Boleh Menetapkan Had Masa pada Fungsi `raw_input` Python?

DDD
Lepaskan: 2024-11-15 11:57:02
asal
252 orang telah melayarinya

How Can I Set a Time Limit on Python's `raw_input` Function?

Had Masa pada raw_input dalam Python

raw_input ialah fungsi Python yang digunakan untuk menunggu input pengguna. Ia tidak menyediakan cara untuk menentukan had masa, yang mungkin diingini dalam senario tertentu.

Penyelesaian

Untuk menetapkan had masa pada raw_input, satu pendekatan ialah untuk menggunakan fungsi signal.alarm, yang menghantar isyarat SIGALRM kepada proses selepas masa yang ditentukan tamat. Berikut ialah coretan kod:

import signal

def alarm_handler(signum, frame):
    raise KeyboardInterrupt

def raw_input_with_timeout(prompt, timeout):
    signal.alarm(timeout)
    try:
        return input(prompt)
    except KeyboardInterrupt:
        return None
    finally:
        signal.alarm(0)  # cancel the alarm
Salin selepas log masuk

Kod ini memasang pengendali penggera yang menimbulkan pengecualian KeyboardInterrupt apabila had masa dicapai, yang secara berkesan melangkau fungsi raw_input.

Sebagai alternatif, untuk silang- platform atau penyelesaian khusus Windows, seseorang boleh menggunakan threading.Pemasa atau tinjauan pendapat msvcrt.kbhit dalam Windows untuk mencapai kefungsian yang serupa.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menetapkan Had Masa pada Fungsi `raw_input` Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan