Python에서 raw_input을 사용하여 셸에서 사용자와 상호 작용할 때 일반적으로 사용자는 다음을 수행해야 합니다. 응답을 입력한 후 Enter 키를 누르세요. 이는 특히 입력 프로세스를 간소화하려는 경우 불편할 수 있습니다. *nixes 머신에서 이 작업을 수행하는 방법은 다음과 같습니다.
Windows의 경우 msvcrt 모듈, 특히 msvcrt.getch() 함수가 필요합니다. 이 함수는 키 누르기를 읽고 콘솔에 에코하지 않고 결과 문자를 반환합니다. 아직 키 누르기를 사용할 수 없지만 Enter를 기다리지 않으면 실행을 차단합니다.
import msvcrt c = msvcrt.getch() if c.upper() == 'S': print('YES')
Unix 기반 시스템의 경우 getch 기능 사용을 고려하세요. 다음 방법을 참고하세요.
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
이 기능은 터미널 버퍼링을 비활성화하여 Enter 키를 기다리지 않고 한 번의 키 입력을 허용합니다.
이러한 접근 방식을 구현하면 Enter 키를 누르지 않고도 Python 스크립트를 사용할 수 있어 셸 상호 작용 중에 사용자 경험이 향상됩니다.
위 내용은 Enter 키를 요구하지 않고 Python에서 사용자 입력을 어떻게 수집할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!