Python(파이썬) 기본 - 34. OS별 처리

아래 내용은 공부한 것을 정리하므로 틀린 내용이 포함되어 있을 수 있습니다.

1. 운영체제별 처리

  • 정확하게는 Windows와 유닉스계열(Mac, 리눅스)처리로 구분됩니다.
  • Python에서 콘솔에서 아무키나 누르는 것과 같은 단일 키 누르기를 감지하려면, 운영체제별 모듈을 사용해야합니다.
  • Windows - msvcrt
  • Linux, Mac - sys, tty, termios
  • 예제 코드 입니다.
    try:
        # Windows용 코드
        import msvcrt
          
        def getkey():
            """단일키 누르는 것을 받아옴"""
            return msvcrt.getch()
      
    except ImportError:
        # Linux & Mac 용 코드
        import sys
        import tty
        import termios
      
        def getkey():
            """단일키 누르는 것을 받아옴"""
            fd = sys.stdin.fileno()
            original_attributes = termios.tcgetattr(fd)
            try:
                tty.setraw(sys.stdin.fileno())
                ch = sys.stdin.read(1)
            finally:
                termios.tcsetattr(fd, termios.TCSADRAIN, original_attributes)
            return ch