Python 来自sys.platform的可能值?
以下命令可能返回的值是什么Python 来自sys.platform的可能值?,python,cross-platform,Python,Cross Platform,以下命令可能返回的值是什么 import sys print sys.platform 我知道有很多可能性,所以我主要对“主要”的(Windows、Linux、Mac OS)感兴趣。Mac OS X(10.4、10.5、10.7、10.8): Linux(2.6内核): Windows XP 32位: win32 括号中的版本已检查-其他/较新版本可能相同 正如其他人所指出的,sys.platform 派生自 系统供应商提供了他们的系统。 然而,Python也添加了 平台到sys.path,
import sys
print sys.platform
我知道有很多可能性,所以我主要对“主要”的(Windows、Linux、Mac OS)感兴趣。Mac OS X(10.4、10.5、10.7、10.8):
Linux(2.6内核):
Windows XP 32位:
win32
括号中的版本已检查-其他/较新版本可能相同
正如其他人所指出的,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
在没有
特定于平台的目录已被删除
创造
From.FreeBSD 7.0:
freebsd7
。FreeBSD8,但在以前的版本上执行构建,答案相同
因此,请注意,您得到的是用于构建的平台,而不必依赖于您正在运行的平台。┍━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━┑
│ 系统│ 价值│
┝━━━━━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━━━━━━━━━━━┥
│ Linux│ linux或linux2(*)│
│ 窗户│ win32│
│ Windows/Cygwin│ 西格温│
│ Windows/MSYS2│ msys│
│ MacOSX│ 达尔文│
│ OS/2│ os2│
│ OS/2EMX│ os2emx│
│ 里斯科│ 里斯科│
│ 阿瑟斯│ 阿瑟斯│
│ FreeBSD 7│ freebsd7│
│ FreeBSD 8│ freebsd8│
│ 弗里伯斯│ freebsdN│
│ OpenBSD6│ openbsd6│
┕━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━┙
(*)在Python 3.3之前,任何Linux版本的值总是
linux2
;从2013年12月29日起,OS X 10.9.1 Mavericks仍然被标记为Darwin。通过挖掘源代码,有一些更常见的:win32
,os2
,unknown
在Python 3.3和更高版本的linux2
变成了linux
@德清:三年后修复:)10.5以上的OSX版本怎么样,它们是否也被标在“达尔文”下?高于2.6的Linux内核版本呢?Windows版本高于XP?@Dennis在回答中澄清-列出的版本就是我检查过的版本。我几乎可以肯定,所有OS X版本都将是darwin
,所有2.X linux内核都将是linux2
,Windows将是win32或win64。。但是,我还没有检查过Linux的较新版本可能使用“linux3”而不是“linux2”。@MarioVilas:没有,即使对于linux3内核,Python也坚持使用linux2,因为这与Python的观点没有区别。在64位Windows上安装64位Python也会输出“win32”。使用platform.system()
可能是一个比较容易混淆的解决方案(“Windows”与“Linux”)。您应该列出这一点。这可能是本文撰写时最有用的答案。时尚的ASCII艺术电子表格的额外业力。当前的macOS
系统如何?他们还决心要darwin
?我得到了“linux”@blubberdiblub是的。看看python3.9,达尔文就是OSX内核。要获取OS X版本号,请使用
linux2
win32