检查 Python 运行的是 32 位还是 64 位

检查 Python 是以 32 位还是 64 位运行的

Check if the Python is running as 32-bit or 64-bit

使用该python -c "import sys; print(sys.maxsize > 2**32)"命令检查 Python 是以 32 位还是 64 位运行的。True如果 Python 以 64 位和32 位运行,该命令将返回False

# 👇️ returns True if Python interpreter is running in 64-bit # works on Linux, macOS and Windows python -c "import sys; print(sys.maxsize > 2**32)"

检查 python 解释器是 32 位还是 64 位

您可以使用相同的方法从脚本内部检查 Python 解释器运行的是 32 位还是 64 位。

主程序
import sys is_64bits = sys.maxsize > 2**32 print(is_64bits) if is_64bits: print('Python is running as 64-bit application') else: print('Python is running as 32-bit application')

从脚本内部检查 python 是 32 位还是 64 位

如果 Python 解释器以 64 位和32 位运行,则sys.maxsize > 2**32表达式返回TrueFalse

这是
文档推荐的方法。

sys.maxsize属性
返回一个整数,通常
2**31 - 1在 32 位平台和2**63 - 164 位平台上。

如果该sys.maxsize属性返回的值大于,则 Python 解释器以 64 位运行。 2**32

这种方法适用于 Windows、macOS 和 Linux。

检查 python 32 位还是 64 位 Windows

如果您使用的是 Windows,您还可以启动 shell 并查看消息以检查您的 Python 是否作为 32 位或 64 位应用程序运行。

Windows 检查 32 位或 64 位 python 解释器

“[MSC v.1933 64 位 (AMD64)]”消息表明 Python 正在作为 64 位应用程序运行。

一些在线示例可能会使用
platform.architecture
方法来检查 Python 解释器是否以 32 位或 64 位运行。

主程序
import platform print(platform.architecture()[0]) # 👉️ 64bit

但是,该方法的输出对于 macOS 和其他一些平台并不可靠,因为可执行文件可能是包含多种体系结构的通用文件。

sys.maxsize > 2**32表达式在所有平台上都是可靠的。

您还可以使用
struct.calcsize()
方法来检查 Python 是作为 32 位还是 64 位应用程序运行。

主程序
import struct print(struct.calcsize('P') * 8) # 👉️ 64 if struct.calcsize('P') * 8 == 64: print('Python is running as 64-bit application') else: print('Python is running as 32-bit application')

P字符表示 void *(通用指针)。

该指针在 32 位系统上为 4 个字节,在 64 位系统上为 8 个字节。

对该struct.calcsize()方法的调用计算存储单个指针所需的字节数。

结果将4在 32 位系统和864 位系统上。

我们将 or 乘以or4得到结果883264

您选择哪种方法是个人喜好的问题。我会使用
sys.maxsize > 2**32它,因为它在文档中被推荐并且适用于所有操作系统。