获取 Windows 10 构建版本(发布 ID)

Bož*_*vić 8 python windows-10

我想获得 Windows 构建版本。我到处寻找这个,但无济于事。

不,我不想知道是 7、8、10 还是其他什么。我不想要 Windows 内部版本号。我想知道 Windows 构建版本(1507、1511、1607 等)

我不确定它的正式名称是什么,但这是我要求的图像:

在此处输入图片说明

我尝试使用sys,osplatform模块,但似乎找不到任何可以执行此操作的内置功能。

nap*_*zba 4

您似乎正在寻找ReleaseID与内部版本号不同的版本。

您可以通过查询注册表项ReleaseID中的值来找到它。HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion

您可以使用模块查询该值winreg

import winreg

def getReleaseId():    
    key = r"SOFTWARE\Microsoft\Windows NT\CurrentVersion"
    val = r"ReleaseID"

    with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, key) as key:
        releaseId = int(winreg.QueryValueEx(key,val)[0])

    return releaseId
Run Code Online (Sandbox Code Playgroud)

REG 命令

import os

def getReleaseId():
    key = r"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion"
    val = r"ReleaseID"

    output = os.popen( 'REG QUERY "{0}" /V "{1}"'.format( key , val)  ).read()
    releaseId = int( output.strip().split(' ')[-1] )

    return releaseId
Run Code Online (Sandbox Code Playgroud)

  • 来吧,您可以使用 [`winreg`](https://docs.python.org/3/library/winreg.html) 并避免丑陋的额外 shell 进程和操作输出字符串。 (3认同)
  • `OpenKey` 实现了上下文管理器协议,因此最好使用 `with OpenKey(HKEY_LOCAL_MACHINE, r'SOFTWARE\Microsoft\Windows NT\CurrentVersion') as key:`,因此不使用 `CloseKey`。 (2认同)