在 Python 中获取 Windows 版本
Get Windows Version in Python
当我在控制台 (CMD) 中输入“winver”时,我会得到我的 windows 版本(内部版本号左边的四个数字,例如:1803,1903,1909,2004,20H2)
但是我怎样才能在 python 中获得我的 windows 版本?
我已经试过了:
import os
os.system("winver")
input()
但随后它会像在 cmd 中那样打开一个新的 window,但我只想打印 winver 而没有其他内容,因此我这样做了:
import os
os.system("Reg Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ReleaseId")
input()
但问题是 字符串在字符串 中。
"HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion"
我该如何解决?请帮忙!
要将字符串放在字符串中而不出现 sinttax 错误,您应该使用单引号。
代码如下所示:
import os
os.system("Reg Query 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion' /v ReleaseId")
input()
你可以使用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
您可以使用 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
我在系统中找到的唯一包含 20H2
值的注册表项是
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DisplayVersion
Displayversion
也是一个 REG_SZ 值。
遗憾的是,我不知道此条目从哪个 Windows 10 版本开始存在。我发现一些信息表明,在较旧的 Windows 10 安装中,此密钥是一个可选的 32 位 DWORD 值,可用于显示构建信息、版本、桌面上的 WinDir 路径。
但这绝对是 winver
从中获取版本信息的位置。如果修改字符串,winver 也会显示修改后的值。
当我在控制台 (CMD) 中输入“winver”时,我会得到我的 windows 版本(内部版本号左边的四个数字,例如:1803,1903,1909,2004,20H2) 但是我怎样才能在 python 中获得我的 windows 版本? 我已经试过了:
import os
os.system("winver")
input()
但随后它会像在 cmd 中那样打开一个新的 window,但我只想打印 winver 而没有其他内容,因此我这样做了:
import os
os.system("Reg Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ReleaseId")
input()
但问题是 字符串在字符串 中。 "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion"
我该如何解决?请帮忙!
要将字符串放在字符串中而不出现 sinttax 错误,您应该使用单引号。 代码如下所示:
import os
os.system("Reg Query 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion' /v ReleaseId")
input()
你可以使用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
您可以使用 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
我在系统中找到的唯一包含 20H2
值的注册表项是
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DisplayVersion
Displayversion
也是一个 REG_SZ 值。
遗憾的是,我不知道此条目从哪个 Windows 10 版本开始存在。我发现一些信息表明,在较旧的 Windows 10 安装中,此密钥是一个可选的 32 位 DWORD 值,可用于显示构建信息、版本、桌面上的 WinDir 路径。
但这绝对是 winver
从中获取版本信息的位置。如果修改字符串,winver 也会显示修改后的值。