반응형
2021년 7월 현재, 파이썬 버전 3.9.6에서
키을 입력받는 방법이다.
문자키와 방향키와 같은 특수키는 다를수 있고 여기서는 특수키, 방향키에 관한 내용이다.
원도우, 리눅스, 코렙등에서 범용적인 방법과 원도우 전용 입력 방법이 있다.
아래의 두개의 코드를 유심히 보면 알수 있을것 같다.
약간의 설명을 넣자면 키를 입력받으면 1바이트 문자와 특수키와 같은 2바이트 문자가 있을수 있으면
readchar와 같은 ANSI 이스케이프 코드를 사용하는 방법과
원도우의 msvcrt의 사용법은 다르다.
import readchar
LEFT = 0
DOWN = 1
RIGHT = 2
UP = 3
arrow_keys = {
'\x1b[A' : UP,
'\x1b[B' : DOWN,
'\x1b[C' : RIGHT,
'\x1b[D' : LEFT
}
key = readchar.readkey() # 키보드 입력 받기
action = arrow_keys[key]
print(action)
import msvcrt
class mskey:
def getkey():
_key1 = msvcrt.getch()
_key2 = msvcrt.getch()
#print(_key1)
#print(_key2)
return _key2
LEFT = 0
DOWN = 1
RIGHT = 2
UP = 3
arrow_keys = {
b'H': UP,
b'P': DOWN,
b'M': RIGHT,
b'K': LEFT
}
key = mskey.getkey()
action = arrow_keys[key]
print(action)
'AI 학습 > 강화학습' 카테고리의 다른 글
open AI GYM 소스 (0) | 2021.07.28 |
---|---|
코렙에서 env.render() 오류방지 (0) | 2021.07.28 |
Open AI Gym 클래식 예제 사이트 (0) | 2021.07.27 |
강화학습 Carpole V0, V1 차이점 (0) | 2021.07.20 |
cartpole 강화학습 (0) | 2021.07.13 |
댓글