gpt4 book ai didi

python-3.x - Python sys.platform = Linux2 但不是 Linux3?

转载 作者:行者123 更新时间:2023-12-04 05:41:10 36 4
gpt4 key购买 nike

我正在读的书显示我 sys.platform在 python3 中,在 Windows 上这运行良好,但在 Linux 中,即使我的内核是 Linux3,我也不断返回“Linux2”。

在 StackOverflow 上搜索我看到有人提到 platform.systemos.name .其中第一个会告诉您 Linux/Windows,但不会告诉您是什么版本,而后者会为您提供 NT/Posix 中的技术名称。

对于经验丰富的 Python 编码人员使用的最准确和首选的方法,我有点困惑。是否可以获得“windows7”或Linux3?

非常感谢。
附:仍然是 stackoverflow 的新手,希望能正确格式化我的问题。

最佳答案

你不应该依赖这个数字,因为正如你所指出的,它是不一致的。它实际上显示了编译 Python 的系统上内核的主要版本。

此外,它已在 Python 3.3 中删除:

issue 12326: On Linux, sys.platform doesn't contain the major version anymore. It is now always 'linux', instead of 'linux2' or 'linux3' depending on the Linux version used to build Python. Replace sys.platform == 'linux2' with sys.platform.startswith('linux'), or directly sys.platform == 'linux' if you don't need to support older Python versions.
What's New In Python 3.3 » Porting Python code



另见: sys.platform

因此,确定系统是否为 Linux 的首选方法是 sys.platform.startswith('linux') .它适用于所有版本的 Python 和 Linux。

似乎没有办法在标准库中更准确地找出操作系统名称。

关于python-3.x - Python sys.platform = Linux2 但不是 Linux3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10415942/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com