【发布时间】:2013-11-22 14:38:24
【问题描述】:
我在 Ubuntu 13.10 下使用 Python shell。我的 Linux 内核版本是“3.11.0-13-generic”。那么为什么在 Python 变量“sys.platform”中存储值“Linux2”而不是“Linux3”?
【问题讨论】:
我在 Ubuntu 13.10 下使用 Python shell。我的 Linux 内核版本是“3.11.0-13-generic”。那么为什么在 Python 变量“sys.platform”中存储值“Linux2”而不是“Linux3”?
【问题讨论】:
来自the docs:
在 2.7.3 版中更改: 由于大量代码检查
sys.platform == 'linux2',并且 Linux 2.x 和 3.x 之间没有本质变化,sys.platform始终设置为'linux2',即使在 Linux 3.x 上也是如此。
【讨论】:
sys.platform 始终设置为“linux2”,即使在 Linux 3.x 上也是如此。在 Python 中 3.3 及更高版本,该值将始终设置为 'linux',因此建议始终使用上述 startswith 习惯用法。
【讨论】:
因为sys.platform 不是内核版本。它是在编译时添加到 python 二进制文件或库中的字符串。在 linux 上总是 linux2,除了在 Python 3.3 之后它更改为 linux。
【讨论】: