हमारे पास एक ऐसी स्क्रिप्ट है जो हमारे विभिन्न ग्राहकों के ओएस संस्करण का पता लगाने के लिए platform module का उपयोग करती है।पायथन में विंडोज 8.1 का पता लगाएं?
platform.py के लिए स्रोत के माध्यम से देखकर, मैं देख सकता हूं कि विंडोज सिस्टम पर, यह sys.getwindowsverion() का उपयोग कर रहा है। दुर्भाग्य से, विंडोज पर 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 चल रहा है। । ।
विंडोज़ आपसे झूठ बोल सकता है, अगर यह निर्णय लेता है कि आपको Win8 मोड में चलाना चाहिए। यह आधुनिक में Win8 ऐप्स के मामले में हो सकता है जिसे 8.1 तक अपडेट नहीं किया गया है, लेकिन मुझे संदेह है कि आप आधुनिक में अजगर चल रहे हैं। – ohmusama
ओह, फज। पाइथन इस के लिए [एमएस 'GetVersionEx()' फ़ंक्शन] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms724451 (v = vs.85) .aspx) का उपयोग करता है। लिंक का पालन करें: ऐसा लगता है कि वे इसे नए कार्यों के एक अनुपयोगी गड़बड़ के साथ बदल रहे हैं :-( –
FYI, मैंने [इसके बारे में एक बग रिपोर्ट खोली है] (http://bugs.python.org/issue19143) पायथन बग ट्रैकर पर इस बीच, काम करने वाली कुछ भी करें ;-) –