
윈도우 명령 처리기(옛날 MS-DOS, 현 cmd)에서 그냥 test.py라고 입력하면 python test.py와 같이 스크립트 실행이 된다. 하지만 파이썬은 2.5, 2.7, 3.2와 같이 여러 버젼들이 함께 설치되어 있을 수 있다. 그렇다면 현재 실행되는 python.exe은 어떤 버젼의 파이썬일까?
윈도우 명령처리기에서는 assoc명령어로 확장자가 어디에 연관(association)되었는지 확인할 수 있다.
C:\> assoc .py
.py=Python.File
즉 Python.File이라는 곳에 저장이 되어있다고 한다. 그럼 이 파일 타입(file type)은 어떻게 실행될까?
C:\> ftype Python.File
Python.File="C:\Python27\python.exe" "%1" %*
위의 경로를 보면 Python 2.7의 python.exe를 실행하는 것으로 알 수 있다. %1은 DOS 셸 프로그래밍에서 사용되는 매개변수 값으로 파일이름, 즉 ~.py를 뜻한다. %*는 그 파일이름 다음에 나오는 다른 매개변수들을 의미한다. 따라서 test.py 1 2 3으로 셸에 입력을 하면, 우리는 상기 절대 주소에 있는 python.exe test.py 1 2 3으로 입력한 것이 된다.
이제 버젼을 3.2로 바꾸어 보자. 이는 아래와 같이 ftype을 이용해 직접 대입해 주면 된다.
C:\>ftype Python.File="C:\Python32\python.exe" "%1" %*