Çeşitli istemcilerin işletim sistemi sürümlerini algılamak için platform module'u kullanan bir komut dosyası var.Python'da Windows 8.1'i Algıla?
Platform.py kaynağına bakarak, Windows sistemlerinde sys.getwindowsverion() işlevini kullandığını görebiliyorum. Ne yazık ki, 8.1 sistemler, bu özel işlev raporları Windows: Windows'un
>>> sys.getwindowsversion()
sys.getwindowsversion(major=6, minor=2, build=9200, platform=2, service_pack='')
8,1 6.3.9600 geçerli: Yani
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.
C:\Windows\system32>ver
Microsoft Windows [Version 6.3.9600]
, ben platform.release benim çağrısı etrafında bazı ekstra mantığı yazabilirsiniz fark() ve eğer 8 döndürürse, ikincil bir kontrol yapın ve ver
'u çalıştırmayı deneyin, ancak bu biraz kıvrık gibi görünüyor.
Daha iyi bir yolu bilen var mı?
Önemli olan durumlarda ActivePython 2.7.2.5'i çalıştırmak. . .
Win8 modunda çalışmakta olduğuna karar verirse, Windows size yalan söyleyebilir. Bu, 8.1'de güncellenen henüz modern olmayan win8 uygulamaları için geçerli olabilir, ancak python'u modern olarak kullandığınızdan şüpheliyim. – ohmusama
Ah, şekerleme. Python, bunun için [MS 'GetVersionEx()' işlevini] kullanır (http://msdn.microsoft.com/en-us/library/windows/desktop/ms724451 (v = vs.85) .aspx). Bağlantıyı takip et: yeni işlevlerin kullanılamaz bir karmaşasıyla değiştiriyorlar :-( –
FYI, I [bu konuda bir hata raporu açtım] (http://bugs.python.org/issue19143) Python hata izleyicide Bu arada, çalışan bir şey yapın ;-) –