【问题标题】:Get Windows Version in Python在 Python 中获取 Windows 版本
【发布时间】:2021-06-07 19:26:50
【问题描述】:

当我输入控制台(CMD)“winver”时,我将获得我的 Windows 版本(内部版本号左侧的四个数字,例如:1803,1903,1909,2004,20H2) 但是我怎样才能在 python 中获得我的 Windows 版本呢? 我已经试过了:

import os
os.system("winver")
input()

但是它会像在 cmd 中一样打开一个新窗口,但我只想打印 winver 而不打印其余部分,因此我这样做了:

import os
os.system("Reg Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ReleaseId")
input()

但这里的问题是字符串在字符串中"HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion"

我该如何解决这个问题?请帮忙!

【问题讨论】:

    标签: python python-3.x operating-system python-os


    【解决方案1】:

    你可以使用platform模块

    import platform
    
    print(platform.platform())
    print(platform.system())
    print(platform.release())
    print(platform.version())
    print(platform.version().split('.')[2]) 
    print(platform.machine())
    

    输出:

    Windows-10-10.0.19041-SP0
    Windows
    10
    10.0.19041
    19041
    AMD64
    

    【讨论】:

    • 您好!谢谢,但这不是我要搜索的,它没有显示我想要的版本。我已经有了解决方案,但还是谢谢!
    • 但是当我在 Windows 8.1 中运行时,“platform.release()”会给出什么数字? “81”还是“8.1”? (注意:Windows 7 给出的是“7”而不是“6.1”)
    • 此页面显示 Windows 版本列表:docs.microsoft.com/en-us/windows/win32/sysinfo/…
    • 在 cygwin 中打印其他内容:/
    【解决方案2】:

    您可以使用 sys 库,它有一个专门用于此目的的命令。 Python Docs on sys

    import sys
    version = sys.getwindowsversion()
    print(version)
    print(version[2]) # You can directly reference the build element by index number
    print(version.build) # Or by name
    

    输出:

    sys.getwindowsversion(major=10, minor=0, build=19042, platform=2, service_pack='')
    19042
    19042
    

    【讨论】:

      【解决方案3】:

      要将字符串放入字符串而不出现 sinttax 错误,您应该使用单引号。 代码如下所示:

      import os
      os.system("Reg Query 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion' /v ReleaseId")
      input()
      

      【讨论】:

      • 哦,是的!这就是我正在寻找的东西,非常感谢!
      【解决方案4】:

      我能在我的系统上找到的唯一包含 20H2 值的注册表项是

      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DisplayVersion
      

      Displayversion 也是一个 REG_SZ 值。

      不幸的是,我不知道该条目是从哪个 Windows 10 版本开始存在的。我发现一些信息表明,在较旧的 Windows 10 安装中,此键是一个可选的 32 位 DWORD 值,可用于在桌面上显示构建信息、版本、WinDir 路径。

      但这绝对是winver 获取版本信息的位置。如果修改字符串winver也会显示修改后的值。

      【讨论】:

        猜你喜欢
        • 2021-10-24
        • 2011-11-02
        • 2011-09-04
        • 2011-12-29
        • 2023-04-05
        • 2020-12-19
        • 1970-01-01
        • 2017-02-08
        相关资源
        最近更新 更多