os 모듈의 uname() 함수 사용하기
Python에서는 os 모듈의 uname() 함수를 사용하여 운영체제의 이름과 버전 등 시스템 정보를 간단히 조회할 수 있습니다.
>>> import os
>>> os.uname()
다만 이 방법에는 한 가지 제약이 있습니다. os.uname()은 최신 유닉스(Unix) 및 리눅스 계열 운영체제에서만 동작하며, Windows 환경에서는 사용할 수 없습니다.
platform 모듈로 크로스 플랫폼 대응하기
Windows, macOS, Linux 등 다양한 운영체제에서 동일하게 작동하는 해결책이 필요하다면 platform 모듈을 사용하는 것이 좋습니다. 이 모듈은 시스템 아키텍처, 버전, 프로세서 정보까지 폭넓게 제공합니다.
>>> import platform
>>> platform.machine()
'AMD64'
>>> platform.version()
'10.0.15063'
>>> platform.platform()
'Windows-10-10.0.15063-SP0'
>>> platform.uname()
uname_result(system='Windows', node='DESKTOP-N0VDLO7', release='10', version='10.0.15063', machine='AMD64', processor='Intel64 Family 6 Model 69 Stepping 1, GenuineIntel')
>>> platform.system()
'Windows'
>>> platform.processor()
'Intel64 Family 6 Model 69 Stepping 1, GenuineIntel'
주요 함수 정리
- platform.system(): 운영체제 이름을 반환합니다. 예: 'Windows', 'Linux', 'Darwin'(macOS)
- platform.machine(): 하드웨어 아키텍처를 반환합니다. 예: 'AMD64', 'x86_64'
- platform.version(): 운영체제의 상세 빌드 버전을 반환합니다.
- platform.platform(): 시스템 전체 정보를 하나의 문자열로 반환합니다.
- platform.uname(): 위 정보를 모두 포함하는 객체(namedtuple 형태)를 한 번에 반환합니다.
- platform.processor(): CPU 프로세서 정보를 반환합니다.
요약하자면, 유닉스 계열 시스템만 지원하면 되는 경우에는 간단한 os.uname()을 사용하고, Windows를 포함한 여러 플랫폼을 지원해야 한다면 platform 모듈을 활용하는 것이 가장 안전하고 효율적인 방법입니다.