> 백엔드 개발 > 파이썬 튜토리얼 > Enter 키를 요구하지 않고 Python에서 사용자 입력을 어떻게 수집할 수 있습니까?

Enter 키를 요구하지 않고 Python에서 사용자 입력을 어떻게 수집할 수 있습니까?

Susan Sarandon
풀어 주다: 2024-11-08 16:05:02
원래의
281명이 탐색했습니다.

How Can I Gather User Input in Python Without Requiring the Enter Key?

Enter 키를 누르지 않고도 사용자로부터 입력 수집

Python에서 raw_input을 사용하여 셸에서 사용자와 상호 작용할 때 일반적으로 사용자는 다음을 수행해야 합니다. 응답을 입력한 후 Enter 키를 누르세요. 이는 특히 입력 프로세스를 간소화하려는 경우 불편할 수 있습니다. *nixes 머신에서 이 작업을 수행하는 방법은 다음과 같습니다.

Windows

Windows의 경우 msvcrt 모듈, 특히 msvcrt.getch() 함수가 필요합니다. 이 함수는 키 누르기를 읽고 콘솔에 에코하지 않고 결과 문자를 반환합니다. 아직 키 누르기를 사용할 수 없지만 Enter를 기다리지 않으면 실행을 차단합니다.

import msvcrt

c = msvcrt.getch()
if c.upper() == 'S':
    print('YES')
로그인 후 복사

Unix

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿