원시 입력을 사용한 시간 제한 사용자 입력
Python에서는 raw_input() 함수를 사용하여 사용자에게 입력하라는 메시지를 표시할 수 있습니다. 그러나 프로그램이 무기한 중단되지 않도록 사용자 입력 대기 시간을 제한하려는 시나리오가 있을 수 있습니다.
스레딩 타이머를 사용한 솔루션
플랫폼 및 Windows 관련 솔루션의 경우 스레딩 모듈에서 threading.Timer를 활용할 수 있습니다. 필요한 모듈 가져오기:
import thread import threading
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
이 함수는 프롬프트를 인쇄하고 타이머를 시작하며 입력을 사용하여 사용자 입력에 대한 프롬프트를 표시합니다. 사용자가 입력하는 데 지정된 제한 시간보다 오래 걸리면 타이머가 기본 스레드를 중단하여 KeyboardInterrupt 예외가 발생합니다. 추가 중단을 방지하기 위해 타이머가 취소됩니다.
입력 시간이 초과되면 None을 반환합니다. 사용자가 시간 초과 전에 입력을 제공하면 입력된 문자열이 반환됩니다.
참고:
위 내용은 `raw_input()`을 사용하여 Python에서 시간 제한 사용자 입력을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!