Sys.platform से संभावित मान?


79

निम्नलिखित कमांड से संभावित रिटर्न मान क्या हैं?

import sys
print sys.platform

मुझे पता है कि बहुत सारी संभावनाएं हैं, इसलिए मुझे मुख्य रूप से "मुख्य" (विंडोज, लिनक्स, मैक ओएस) में दिलचस्पी है


1
पर एक नजर डालें docs.python.org/2/library/sys.html#sys.platform
डेनिस

जवाबों:


110
┍━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━┑
│ System              │ Value               │
┝━━━━━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━━━━━━━━━━━┥
│ Linux               │ linux or linux2 (*) │
│ Windows             │ win32               │
│ Windows/Cygwin      │ cygwin              │
│ Windows/MSYS2       │ msys                │
│ Mac OS X            │ darwin              │
│ OS/2                │ os2                 │
│ OS/2 EMX            │ os2emx              │
│ RiscOS              │ riscos              │
│ AtheOS              │ atheos              │
│ FreeBSD 7           │ freebsd7            │
│ FreeBSD 8           │ freebsd8            │
│ FreeBSD N           │ freebsdN            │
│ OpenBSD 6           │ openbsd6            │
┕━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━┙

(*) पायथन 3.3 से पहले, किसी भी लिनक्स संस्करण के लिए मूल्य हमेशा होता है linux2; के बाद, यह है linux


5
आपको इसकी एक सूची बनानी चाहिए।
बेंजामिन पैप

3
संभवतः इस लेखन के रूप में सबसे उपयोगी उत्तर। स्टाइलिश ASCII- कला स्प्रेडशीट के लिए अतिरिक्त कर्म।
सेसिल करी

1
वर्तमान macOSप्रणालियों के बारे में क्या ? क्या वे अब भी संकल्प करते हैं darwin?
ब्लबरडाइब्लूब

1
मुझे "linux" मिल रहा है
vidstige

1
@blubberdiblub हाँ।
माइकल लियोनार्ड

34

मैक ओएस एक्स (10.4, 10.5, 10.7, 10.8):

darwin

लिनक्स (2.6 कर्नेल):

linux2

Windows XP 32 बिट:

win32

कोष्ठक में संस्करणों की जाँच की गई है - अन्य / नए संस्करण समान होने की संभावना है।


क्या OS X संस्करणों के बारे में 10.5 से अधिक है, वे भी 'डार्विन' के तहत लेबल? लिनक्स कर्नेल संस्करणों के बारे में 2.6 से अधिक क्या है? Windows संस्करण XP की तुलना में अधिक है?
डेनिस

@ डेनिस जवाब में स्पष्ट - सूचीबद्ध संस्करण वही हैं जो मैंने जांचे हैं। मैं लगभग सभी ओएस एक्स संस्करण निश्चित कर रहा हूँ darwin, सभी 2.x लिनक्स गुठली होगी linux2, और विंडोज win32 या win64 होगा .. लेकिन, मैंने जाँच नहीं की है
dbr

1
लिनक्स के नए संस्करणों में "linux2" के बजाय "linux3" हो सकता है।
मारियोविलास

4
@MarioVilas: नहीं, Python linux3 kernels के लिए भी linux2 से चिपका है क्योंकि Python के दृष्टिकोण से कोई अंतर नहीं है।
मार्टिन पीटर्स

4
64 बिट विंडोज पर 64 बिट पायथन इंस्टॉलेशन भी "win32" आउटपुट करेगा। उपयोग करना platform.system()एक कम भ्रामक समाधान ("विंडोज" बनाम "लिनक्स") हो सकता है।
डैनियल एफ

22

जैसा कि दूसरों ने संकेत दिया है, sys.platform नाम से लिया गया है जो सिस्टम विक्रेता अपना सिस्टम देता है। हालाँकि, पायथन भी प्लैट- को sys.path में जोड़ता है, इसलिए आप पायथन वितरण में सभी प्लैट- * निर्देशिकाओं को देख सकते हैं।

यह आपको सूची देता है

aix3 aix4 atheos beos5 darwin freebsd2 freebsd4 freebsd5 freebsd5 freebsd6 freebsd7 जेनेरिक irix5 irix6 linux2 mac netbsd1 अगला os2emx riscos sunos5 unixware7

बेशक, sys.platform में अतिरिक्त मूल्य हो सकते हैं, जब पायथन एक सिस्टम पर संकलित हो जाता है जिसके लिए कोई मंच-विशिष्ट निर्देशिका नहीं बनाई गई है।

से यहाँ


5
Sourcecode के माध्यम से खुदाई में कुछ अधिक आम देखते हैं: win32, os2,unknown
Nicklas ए

7
पायथन 3.3 पर और बाद में linux2बन जाता है linuxस्रोत
माइकल प्लेटिंग्स

3
@ डाइकिंग: तीन साल बाद तय किया गया :)
xOneca

9

FreeBSD 7.0 freebsd7:। FreeBSD8 लेकिन पिछले संस्करण पर प्रदर्शन का निर्माण, एक ही जवाब।

इसलिए जागरूक रहें कि आपको निर्माण के लिए इस्तेमाल किया जाने वाला प्लेटफॉर्म मिल जाए, जरूरी नहीं कि आप जिस पर चल रहे हों।


2

29 दिसंबर 2013 तक, ओएस एक्स 10.9.1 मावेरिक्स को अभी भी डार्विन लेबल किया गया है।


1
डार्विन OS X कर्नेल है। OS X संस्करण संख्या प्राप्त करने के लिए, platform.mac_ver ()
wolfd
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.