Python:sys.platform结果不正确

时间:2013-11-22 14:38:24

标签: python ubuntu version

我在Ubuntu 13.10下使用Python shell。我的Linux内核版本是“3.11.0-13-generic”。那么为什么在Python变量“sys.platform”存储值“Linux2”而不是“Linux3”?

enter image description here

3 个答案:

答案 0 :(得分:3)

来自the docs

  

在版本2.7.3中更改:由于大量代码检查sys.platform == 'linux2',并且Linux 2.x和3.x之间没有必要的更改,sys.platform始终设置为'linux2',即使在Linux 3.x上也是如此。

答案 1 :(得分:2)

根据documentation

  

sys.platform始终设置为“linux2”,即使在Linux 3.x上也是如此。在Python中   3.3及更高版本,该值将始终设置为“linux”,因此建议始终使用上面提到的startswith惯用法。

答案 2 :(得分:0)

因为sys.platform不是内核版本。它是在编译时添加到python二进制文件或库的字符串。除了Python 3.3之后,它总是linux2上的linux2,当它变为linux时。

Possible values from sys.platform?