我們有一個腳本,它使用platform module來檢測我們各種客戶端的操作系統版本。在Python中檢測Windows 8.1?
通過platform.py的源代碼,我可以看到,在Windows系統上,它使用sys.getwindowsverion()。不幸的是,在Windows 8.1系統中,特定的功能報告:
>>> sys.getwindowsversion()
sys.getwindowsversion(major=6, minor=2, build=9200, platform=2, service_pack='')
的Windows 8.1是6.3.9600:
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.
C:\Windows\system32>ver
Microsoft Windows [Version 6.3.9600]
所以,我知道我可以寫在我的呼籲platform.release一些額外的邏輯(),如果返回8,則進行第二次檢查並嘗試運行ver
,但似乎稍微複雜。
有誰知道更好的方法?
運行ActivePython 2.7.2.5以防萬一。 。 。
如果Windows確定您應該以win8模式運行,Windows可以騙你。對於尚未更新到8.1的現代win8應用來說,情況可能是這樣,但我懷疑你是在現代運行python。 – ohmusama
哦,軟糖。 Python爲此使用[MS'GetVersionEx()'函數](http://msdn.microsoft.com/en-us/library/windows/desktop/ms724451(v = vs.85).aspx)。關注鏈接:看起來他們正在用一堆不可用的新函數取代它:-( –
僅供參考,我[在Python bug跟蹤器上打開了一個關於此問題的bug報告](http://bugs.python.org/issue19143) 。在此期間,做任何有效的工作;-) –