Python的平台模块不检测Windows 10

时间:2015-09-15 07:04:05

标签: python windows

我目前正在使用Windows 10,如果平台是Windows 10,则需要输入一些代码。因此,我检查了python文档并阅读了有关平台模块的内容。这就是文档所说的内容:

  

platform.win32_ver(release='', version='', csd='', ptype=''):   从Windows注册表获取其他版本信息,并返回一个元组(版本,版本,csd,ptype),参考操作系统版本,版本号,CSD级别(服务包)和操作系统类型(多/单处理器)

当我在Windows 10机器上尝试相同的功能时,我得到了以下内容:

>>> platform.win32_ver()
('8', '6.2.9200', '', u'Multiprocessor Free')

但是,我期待发布时间为10而不是8。

所以,如果我在这里遗漏了什么,我知道吗?

此外,有人可以告诉我是否有其他方法来检测Windows平台是否是Windows 10?

1 个答案:

答案 0 :(得分:5)

问题是python使用GetVersionEx来确定版本。

正如您可以阅读here,Microsoft不再支持此功能,并提供不同的API。

但是,您始终可以自己调用新API,或者在HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion中检查注册表值。

您还可以使用WMI获取Win32_OperatingSystem实例。

我还要注意,特定版本检查通常被认为是一种不好的做法。