我看到了两个相关的问题......
How to check if OS is Vista in Python?
如果我理解正确,Windows Vista,7和8之间的旧问题'platform.release()'的答案似乎不可靠。第二个问题尚未得到解答,似乎表明'sys.getwindowsversion()'也不可靠。
对于此特定问题,我不必担心早于XP或其他操作系统的Windows版本。
答案 0 :(得分:1)
使用platform可能是最可靠的
>>> import platform
>>> print platform.platform()
Windows-7-6.1.7601-SP1
>>>
答案 1 :(得分:0)
import platform
platform.platform()
答案 2 :(得分:0)
从Windows 8.1开始,Microsoft改变了基础版本功能的工作方式。因此,虽然Windows 8.1 应该返回6.3作为版本号,但除非该应用程序是针对Windows 8.1明确表现的。因此,对于Windows 8.1和Server 2012 R2 platform.platform()
不会按预期工作。在我的Windows 8.1框中,我将其作为输出:
>>> import platform
>>> platform.platform()
'Windows-post2008Server-6.2.9200'
以上显示Windows 8.1明确标识为NT版本6.2,这是错误的。应该是6.3。
有关获取真实Windows版本号的方法,请参阅此其他主题上的my answer,即使在Windows 8.1和Server 2012 R2上也是如此。