我在
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())