Possible values from sys.platform?

怎甘沉沦 提交于 2019-12-17 04:27:53

问题


What are the possible return values from the following command?

import sys
print sys.platform

I know there is a lot of possibilities, so I'm mainly interested in the "main" ones (Windows, Linux, Mac OS)


回答1:


┍━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━┑
│ 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            │
┕━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━┙

(*) Prior to Python 3.3, the value for any Linux version is always linux2; after, it is linux.




回答2:


Mac OS X (10.4, 10.5, 10.7, 10.8):

darwin

Linux (2.6 kernel):

linux2

Windows XP 32 bit:

win32

Versions in brackets have been checked - other/newer versions are likely to be the same.




回答3:


As others have indicated, sys.platform is derived from the name that the system vendor gives their system. However, Python also adds plat- to sys.path, so you can look at all the plat-* directories in the Python distribution.

This gives you the list

aix3 aix4 atheos beos5 darwin freebsd2 freebsd3 freebsd4 freebsd5 freebsd6 freebsd7 generic irix5 irix6 linux2 mac netbsd1 next3 os2emx riscos sunos5 unixware7

Of course, sys.platform can have additional values, when Python gets compiled on a system for which no platform-specific directory has been created.

From here.




回答4:


FreeBSD 7.0: freebsd7. FreeBSD8 but build performed on previous version, same answer.

So be aware you get the platform used for the build, not necessarely the one you're running on.




回答5:


As of Dec 29 2013, OS X 10.9.1 Mavericks is still labeled Darwin.



来源:https://stackoverflow.com/questions/446209/possible-values-from-sys-platform

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!