以下命令可能的返回值是什么?
import sys
print sys.platform
我知道有很多可能性,所以我主要对“主要”(Windows,Linux,Mac OS)感兴趣
答案 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。