在Python中,如何确定内核是以32位还是64位模式运行?

前端之家收集整理的这篇文章主要介绍了在Python中,如何确定内核是以32位还是64位模式运行?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在 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)

解决方法

如何在 issue7860左右工作
import os
import sys
import platform

def machine():
    """Return type of machine."""
    if os.name == 'nt' and sys.version_info[:2] < (2,7):
        return os.environ.get("PROCESSOR_ARCHITEW6432",os.environ.get('PROCESSOR_ARCHITECTURE',''))
    else:
        return platform.machine()

def os_bits(machine=machine()):
    """Return bitness of operating system,or None if unknown."""
    machine2bits = {'AMD64': 64,'x86_64': 64,'i386': 32,'x86': 32}
    return machine2bits.get(machine,None)

print (os_bits())

猜你在找的Python相关文章