sys.windowsversion() [0] 또는 Windows 릴리스 버전을 얻는 더 좋은 방법은 int가 아닌 문자열을 반환하는 플랫폼 모듈을 사용하여 Windows OS 버전 확인을 수행하는 프로그램을 작성하려고합니다.파이썬에서 Windows 버전을 얻는 가장 좋은 방법은 무엇입니까?
2
A
답변
4
sys.getwindowsversion
으로 전화를 걸 수 있습니다. 예를 들어이 출력 :
>>> sys.getwindowsversion()
sys.getwindowsversion(major=6, minor=1, build=7601, platform=2, service_pack='Service Pack 1')
윈도우 7위한
자료 : http://mail.python.org/pipermail/tutor/2003-November/026227.html
2
C에서이를 수행하는 일반적인 방법은 그 값 here을 문서화 _WIN32_WINNT 매크로 통해이다. sys.getwindowsversion()은 _WIN32_WINNT를 결정하는 데 간접적으로 사용되어 필요한 모든 비트를 노출합니다.
import sys
WIN_8 = (6, 2, 0)
WIN_7 = (6, 1, 0)
WIN_SERVER_2008 = (6, 0, 1)
WIN_VISTA_SP1 = (6, 0, 1)
WIN_VISTA = (6, 0, 0)
WIN_SERVER_2003_SP2 = (5, 2, 2)
WIN_SERVER_2003_SP1 = (5, 2, 1)
WIN_SERVER_2003 = (5, 2, 0)
WIN_XP_SP3 = (5, 1, 3)
WIN_XP_SP2 = (5, 1, 2)
WIN_XP_SP1 = (5, 1, 1)
WIN_XP = (5, 1, 0)
def get_winver():
wv = sys.getwindowsversion()
if hasattr(wv, 'service_pack_major'): # python >= 2.7
sp = wv.service_pack_major or 0
else:
import re
r = re.search("\s\d$", wv.service_pack)
sp = int(r.group(0)) if r else 0
return (wv.major, wv.minor, sp)
사용법 :
if get_winver() >= WIN_XP_SP3:
...