소프트웨어 업계에서는 개발자가 새로운 기능을 추가하거나 특정 애플리케이션의 버그를 수정할 때마다 해당 프로그램에 새로운 버전 이름을 부여합니다. 이를 통해 사용자는 애플리케이션에 최근 업데이트된 기능이 무엇인지 쉽게 파악할 수 있습니다.
Python을 활용하면 설치된 애플리케이션의 버전 정보를 손쉽게 조회할 수 있습니다. 이때 pywin32 라이브러리를 사용하여 실행 파일(.exe)과 상호작용하게 되는데, 이 라이브러리는 win32 API에 접근할 수 있도록 해주며 COM 객체 생성 등 다양한 Windows 기능을 활용할 수 있게 지원합니다.
구현 순서
먼저 명령 프롬프트(터미널)에서 pip install pywin32 명령어를 입력하여 필요한 패키지를 설치합니다.
애플리케이션의 버전 번호를 가져오기 위해 Dispatch 모듈을 임포트합니다.
애플리케이션 실행 파일의 경로를 저장할 변수를 생성합니다.
실행 파일의 위치를 인자로 받아 Dispatch 메서드로 파싱하는 버전 조회 함수를 정의합니다.
GetFileVersion(app_location) 메서드를 사용하여 버전 번호를 반환합니다.
예제 코드
# 시스템에 설치된 Chrome 애플리케이션의 버전을 조회하는 예제입니다.
# 필요한 모듈 임포트
from win32com.client import Dispatch
def get_version_number(app_location):
parser = Dispatch("Scripting.FileSystemObject")
version = parser.GetFileVersion(app_location)
return version
app_location = r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
version = get_version_number(app_location)
print(version)실행 결과
위 코드를 실행하면 시스템에 설치된 Chrome 애플리케이션의 버전이 출력됩니다.
89.0.4389.114
이처럼 코드에서 app_location 변수의 경로만 다른 애플리케이션의 실행 파일 위치로 변경하면, 어떤 프로그램이든 해당 애플리케이션의 버전 번호를 간편하게 확인할 수 있습니다.