更新:一种方法是看
sys.maxsize作为记录在这里:
$ python-32 -c 'import sys;print("%x" % sys.maxsize, sys.maxsize > 2**32)'('7fffffff', False)$ python-64 -c 'import sys;print("%x" % sys.maxsize, sys.maxsize > 2**32)'('7fffffffffffffff', True)sys.maxsize是Python 2.6中引入的。如果你需要针对较旧系统的测试,则此稍微复杂一些的测试应适用于所有Python 2和3版本:
$ python-32 -c 'import struct;print( 8 * struct.calcsize("P"))'32$ python-64 -c 'import struct;print( 8 * struct.calcsize("P"))'64顺便说一句,你可能会想使用
platform.architecture()它。不幸的是,其结果并不总是可靠的,特别是在OS X通用二进制文件的情况下。
$ arch -x86_64 /usr/bin/python2.6 -c 'import sys,platform; print platform.architecture()[0], sys.maxsize > 2**32'64bit True$ arch -i386 /usr/bin/python2.6 -c 'import sys,platform; print platform.architecture()[0], sys.maxsize > 2**32'64bit False



