【发布时间】:2011-08-23 17:08:37
【问题描述】:
我在 Linux、Mac OS 和 Windows 上运行 python 2.6,需要确定内核是在 32 位还是 64 位模式下运行。有没有简单的方法可以做到这一点?
我查看了 platform.machine(),但这在 Windows 上无法正常工作。
我还查看了 platform.architecture(),这在 64 位 Windows 上运行 32 位 python 时不起作用。
注意:看起来 python 2.7 有一个修复程序,可以使 platform.architecture() 正常工作。不幸的是,我需要使用 python 2.6(至少现在)。
(编辑:通过离线与人们交谈,听起来可能没有一种强大的仅 python 方法可以在不诉诸邪恶黑客的情况下做出这一决定。我只是好奇人们使用了什么邪恶的黑客手段他们的项目使用 python 2.6。例如,在 Windows 上,可能需要查看 PROCESSOR_ARCHITEW6432 环境变量并检查 AMD64)
【问题讨论】:
-
在接受的答案中查看 cmets,这在 64 位操作系统中可能会也可能不会那么简单。
-
接受的“在 Python 中检测 64 位操作系统(Windows)”的答案对我不起作用,所以它不是完全重复的。
-
试试
platform.architecture()[0] -
在 64 位 Windows 上从 32 位 python 运行 platform.architecture()[0] 时,我得到 '32bit'。这似乎告诉我更多关于 python 本身的信息,而不是正在运行的内核。
标签: python