【问题标题】:Python: sys.platform Incorrect resultPython:sys.platform 不正确的结果
【发布时间】:2013-11-22 14:38:24
【问题描述】:

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

【问题讨论】:

    标签: python ubuntu version


    【解决方案1】:

    来自the docs

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

    【讨论】:

      【解决方案2】:

      根据documentation

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

      【讨论】:

        【解决方案3】:

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

        Possible values from sys.platform?

        【讨论】:

          猜你喜欢
          • 2014-06-19
          • 2019-09-21
          • 2013-03-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-05-15
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多