반응형
사용자 입력에서 단일 문자를 읽는 방법이 있습니까? 예를 들어, 그들은 터미널에서 하나의 키를 누르면 반환됩니다 ( getch ()
와 비슷 함). Windows에 기능이 있음을 알고 있지만 크로스 플랫폼 기능을 원합니다.
해결 방법
class _Getch:
"""Gets a single character from standard input. Does not echo to the
screen."""
def __init__(self):
try:
self.impl = _GetchWindows()
except ImportError:
self.impl = _GetchUnix()
def __call__(self): return self.impl()
class _GetchUnix:
def __init__(self):
import tty, sys
def __call__(self):
import sys, tty, termios
fd = sys.stdin.fileno()
old_settings = termios.tcgetattr(fd)
try:
tty.setraw(sys.stdin.fileno())
ch = sys.stdin.read(1)
finally:
termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
return ch
class _GetchWindows:
def __init__(self):
import msvcrt
def __call__(self):
import msvcrt
return msvcrt.getch()
getch = _Getch()
참조 페이지 https://stackoverflow.com/questions/510357
반응형
'파이썬' 카테고리의 다른 글
파이썬 처음 실행할 때 Flask : 프로덕션 환경에서 개발 서버를 사용하지 마세요. (0) | 2020.10.10 |
---|---|
파이썬 모듈이 가지고있는 메서드, 속성 등을 찾는 방법 (0) | 2020.10.10 |
파이썬 특정 경로에 파일을 생성하려면 어떻게합니까? (0) | 2020.10.10 |
파이썬 Python3.6 오류 : ModuleNotFoundError : 'src'라는 모듈이 없습니다. (0) | 2020.10.10 |
파이썬에서 dict의 딥 카피 (0) | 2020.10.10 |
댓글