以下命令可能返回的值是多少?
import sys print sys.platform
我知道有很多可能性,所以我主要对"主要"(Windows,Linux,Mac OS)感兴趣
?????????????????????????????????????????????
? 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 ?
?????????????????????????????????????????????
(*)从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发行版中的所有plat-*目录.
这会给你列表
aix3 aix4 atheos beos5 darwin freebsd2 freebsd3 freebsd4 freebsd5 freebsd6 freebsd7 generic irix5 irix6 linux2 mac netbsd1 next3 os2emx riscos sunos5 unixware7
当然,当Python在没有创建特定于平台的目录的系统上编译时,sys.platform可以有其他值.
从这里开始.
FreeBSD 7.0 : freebsd7
. FreeBSD8但是在之前的版本上进行了构建,同样的答案.
因此请注意,您将获得用于构建的平台,而不一定是您正在运行的平台.