检查 Python 运行的是 32 位还是 64 位
使用 python -c "import sys; print(sys.maxsize > 2**32)"
命令检查 Python 是以 32 位还是 64 位运行的。 如果 Python 以 64 位运行,该命令将返回 True;如果以 32 位运行,则返回 False。
# 👇️ 如果 Python 解释器以 64 位运行,则返回 True
# 适用于 Linux、macOS 和 Windows
$ python -c "import sys; print(sys.maxsize > 2**32)"
我们可以使用相同的方法从脚本内部检查 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 解释器以 64 位运行,则 sys.maxsize > 2**32
表达式返回 True,如果以 32 位运行,则返回 False。
这是文档推荐的方法。
sys.maxsize
属性返回一个整数,在 32 位平台上通常为2**31 - 1
,在 64 位平台上通常为2**63 - 1
。
如果 sys.maxsize 属性返回大于
2**32
的值,则 Python 解释器以 64 位运行。
这种方法适用于 Windows、macOS 和 Linux。
如果使用的是 Windows,我们还可以启动 shell 并查看消息以检查我们的 Python 是否作为 32 位或 64 位应用程序运行。
“[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()
方法计算存储单个指针所需的字节数。
结果在 32 位系统上为 4,在 64 位系统上为 8。
我们将 4 或 8 乘以 8 得到 32 位或 64 位的结果。
选择哪种方法是个人喜好的问题。 我会使用 sys.maxsize > 2**32
因为它在文档中被推荐并且适用于所有操作系统。
相关文章
Python for 循环中的下一项
发布时间:2023/04/26 浏览次数:179 分类:Python
-
本文讨论了 Python 中的 for 循环以及如何通过使用 for 循环和示例来跳过列表的第一个元素。
Python While 循环用户输入
发布时间:2023/04/26 浏览次数:148 分类:Python
-
我们可以在 while 循环中使用 input() 函数来输入数据,直到在 Python 中满足某个条件。
在 Python 中将整数转换为罗马数字
发布时间:2023/04/26 浏览次数:87 分类:Python
-
本篇文章将介绍在 Python 中将整数转换为罗马数字。以下是一个 Python 程序的实现,它将给定的整数转换为其等效的罗马数字。
在 Python 中将罗马数字转换为整数
发布时间:2023/04/26 浏览次数:144 分类:Python
-
本文讨论如何在 Python 中将罗马数字转换为整数。 我们将使用 Python if 语句来执行此操作。 我们还将探讨在 Python 中将罗马数字更改为整数的更多方法。
在 Python 中读取 gzip 文件
发布时间:2023/04/26 浏览次数:70 分类:Python
-
本篇文章强调了压缩文件的重要性,并演示了如何在 Python 中使用 gzip 进行压缩和解压缩。
在 Python 中锁定文件
发布时间:2023/04/26 浏览次数:141 分类:Python
-
本文解释了为什么在 Python 中锁定文件很重要。 这讨论了当两个进程在没有锁的情况下与共享资源交互时会发生什么的示例,为什么在放置锁之前知道文件状态很重要,等等
在 Python 中将 PDF 转换为文本
发布时间:2023/04/26 浏览次数:196 分类:Python
-
在本教程中,我们将学习如何使用 Python 使用 PyPDF2、Aspose 和 PDFminer 将 PDF 文档转换为文本文件。
在 Python 中创建临时文件
发布时间:2023/04/26 浏览次数:53 分类:Python
-
本文讲解了tempfile库函数的四个子函数:TemporaryFile、NamedTemporaryFile、mkstemp、TemporaryDirectory。 每个部分都提供了适当的程序,以简化对概念的理解。