>백엔드 개발 >파이썬 튜토리얼 >셸에서 Enter 키를 누르지 않고 사용자 입력을 얻는 방법은 무엇입니까?

셸에서 Enter 키를 누르지 않고 사용자 입력을 얻는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-10 02:03:02704검색

How to Get User Input Without Pressing Enter in the Shell?

셸에서 Enter 키를 누르지 않고 사용자 입력 받기

Python에서 raw_input을 사용하여 셸에서 사용자와 상호 작용하고 싶지만 응답을 입력한 후 Enter 키를 누를 필요가 없습니다.

Windows 솔루션

Windows의 경우 msvcrt 모듈, 특히 msvcrt.getch 함수를 사용할 수 있습니다.

import msvcrt

c = msvcrt.getch()
if c.upper() == 'S':
    print('YES')

Unix 솔루션

Unix의 경우 이 레시피를 참조하여 유사한 getch 기능을 만들 수 있습니다.

import tty
import termios

def getch():
    fd = sys.stdin.fileno()
    old_settings = termios.tcgetattr(fd)
    try:
        tty.setraw(fd)
        ch = sys.stdin.read(1)
    finally:
        termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
    return ch

이 기능을 사용하면, Enter 키를 누르지 않고도 사용자 입력을 검색할 수 있습니다.

c = getch()
if c.upper() == 'S':
    print('YES')

위 내용은 셸에서 Enter 키를 누르지 않고 사용자 입력을 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.