我在Ubuntu 13.10下使用Python shell。我的Linux内核版本是“3.11.0-13-generic”。那么为什么在Python变量“sys.platform”存储值“Linux2”而不是“Linux3”?
答案 0 :(得分:3)
来自the docs:
在版本2.7.3中更改:由于大量代码检查
sys.platform == 'linux2'
,并且Linux 2.x和3.x之间没有必要的更改,sys.platform
始终设置为'linux2'
,即使在Linux 3.x上也是如此。
答案 1 :(得分:2)
sys.platform始终设置为“linux2”,即使在Linux 3.x上也是如此。在Python中 3.3及更高版本,该值将始终设置为“linux”,因此建议始终使用上面提到的startswith惯用法。
答案 2 :(得分:0)
因为sys.platform
不是内核版本。它是在编译时添加到python二进制文件或库的字符串。除了Python 3.3之后,它总是linux2上的linux2,当它变为linux
时。