sys.platform可能的值?

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

import sys print sys.platform 

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

 .---------------------.------------. | System | Value | |---------------------|------------| | Linux (2.x and 3.x) | linux2 (*) | | Windows | win32 | | Windows/Cygwin | cygwin | | Mac OS X | darwin | | OS/2 | os2 | | OS/2 EMX | os2emx | | RiscOS | riscos | | AtheOS | atheos | | FreeBSD 7 | freebsd7 | | FreeBSD 8 | freebsd8 | | FreeBSD N | freebsdN | '---------------------'------------' 

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

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

 darwin 

Linux(2.6内核):

 linux2 

Windows XP 32位:

 win32 

括号内的版本已被检查 – 其他/新版本可能是相同的。

正如其他人所指出的,sys.platform来源于系统供应商提供系统的名称。 但是,Python也为sys.path添加了平台,因此您可以查看Python发行版中的所有平台目录。

这给你的名单

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

当然,当Python在没有创build平台特定目录的系统上编译时,sys.platform可以有额外的值。

从这里 。

FreeBSD 7.0: freebsd7 。 FreeBSD8,但构build执行以前的版本,相同的答案。

所以要注意,你得到的平台用于构build,而不是必需的,你正在运行。

截至2013年12月29日,OS X 10.9.1小牛仍被标记为达尔文。