import platform
platform.architecture()
('32bit', 'WindowsPE')
在某些64系统上python可运行在32位模式下,OS X 10.6
$ /usr/bin/python
Python2.6.1(r261:67515,Jul 72009,23:51:51)
[GCC 4.2.1(AppleInc. build 5646)] on darwin
Type"help","copyright","credits"or"license"for more information.
>>>import platform, sys
>>> platform.architecture(), sys.maxint
(('64bit',''),9223372036854775807)
>>>^D
$ export VERSIONER_PYTHON_PREFER_32_BIT=yes
$ /usr/bin/python
Python2.6.1(r261:67515,Jul 72009,23:51:51)
[GCC 4.2.1(AppleInc. build 5646)] on darwin
Type"help","copyright","credits"or"license"for more information.
>>>import platform, sys
>>> platform.architecture(), sys.maxint
(('64bit',''),2147483647)
更好的判断方法是用sys.maxint判断
from sys import maxint
if maxint >> 33:
print "more than 32 bits" # probably 64
else:
print "32 bits"
http://stackoverflow.com/questions/1842544/how-do-i-detect-if-python-is-running-as-a-64-bit-application