sys.platform中可能的值?

时间:2009-01-15 10:03:00

标签: python cross-platform

以下命令可能的返回值是什么?

import sys
print sys.platform

我知道有很多可能性,所以我主要对“主要”(Windows,Linux,Mac OS)感兴趣

5 个答案:

答案 0 :(得分:75)

.---------------------.------------.
| System              | Value      |
|---------------------|------------|
| Linux (2.x and 3.x) | 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   |
'---------------------'------------'

(*)从python3.3开始,任何Linux的值总是linux(没有版本号)。

答案 1 :(得分:27)

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

darwin

Linux(2.6内核):

linux2

Windows XP 32位:

win32

已检查括号中的版本 - 其他/较新版本可能相同。

答案 2 :(得分:21)

  

正如其他人所说,sys.platform   是源于名称的   系统供应商给他们的系统。   但是,Python也补充道   平台到sys.path,所以   你可以看看所有的平台 - *   Python中的目录   分布。

     

这为您提供了列表

     

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

     

当然,sys.platform可以有   Python获取时的其他值   编译在没有的系统上   特定于平台的目录已经存在   创建

来自here

答案 3 :(得分:7)

FreeBSD 7.0:freebsd7。 FreeBSD8但是在之前的版本上进行了构建,同样的答案。

请注意,您将获得用于构建的平台,而不一定是您正在运行的平台。

答案 4 :(得分:2)

截至2013年12月29日,OS X 10.9.1 Mavericks仍被标记为Darwin。