【问题标题】:Difference between python shell's platform and architecture?python shell的平台和架构之间的区别?
【发布时间】:2020-09-24 13:34:43
【问题描述】:

我正在检查我使用的 Python Shell 版本(32 位还是 64 位)。

当我跑步时

>>> import platform
>>> print(platform.architecture())

我明白了:

('64bit', 'WindowsPE')

但是

如果我跑步

>>> import sys
>>> sys.platform

我明白了:

'win32'

谁能给我解释一下?

我在安装过程中做错了吗?

【问题讨论】:

  • win32 正是sys.platform 在 Windows 下设置的值,无论您是否在 32 位平台上。
  • 哦,谢谢。但这是为什么呢?
  • @catLuck 请参阅here 以获得可能的答案。这是“历史性的”。

标签: python shell


【解决方案1】:

文档清楚地说明了这一点

platform.architecture

查询给定的可执行文件(默认为 Python 解释器二进制文件)以获取各种架构信息。

返回一个元组(位,链接)其中包含有关位架构和用于可执行文件的链接格式的信息。两个值都作为字符串返回。

无法确定的值由参数预设返回。如果位被指定为 '',则 sizeof(pointer)(或 Python 版本

该函数依赖于系统的文件命令来完成实际的工作。这在大多数(如果不是全部)Unix 平台和一些非 Unix 平台上都可用,并且只有当可执行文件指向 Python 解释器时才可用。当上述需求不满足时,使用合理的默认值。

sys.platform

此字符串包含一个平台标识符,例如,可用于将特定于平台的组件附加到 sys.path。

对于 Unix 系统(Linux 和 AIX 除外),这是 uname -s 返回的小写操作系统名称,并附加了 uname -r 返回的版本的第一部分,例如'sunos5' 或 'freebsd8',在 Python 构建的时候。除非您想测试特定的系统版本,否则建议使用以下成语:

对于其他系统,值为:

  • AIX - 'aix'
  • Linux - 'linux'
  • Windows - 'win32'
  • Windows/Cygwin - 'cygwin'
  • macOS - 'darwin'

【讨论】:

    猜你喜欢
    • 2018-06-22
    • 1970-01-01
    • 1970-01-01
    • 2011-11-29
    • 2011-11-14
    • 2018-02-07
    • 2022-01-18
    • 2011-08-15
    • 2017-02-13
    相关资源
    最近更新 更多