如何确定我的python shell是否在OS X上以32位或64位模式执行?我需要一种方法来告诉shell在shell中的模式。我试过看平台模块,但它似乎只是告诉你“关于位体系结构和用于可执行文件的链接格式”:二进制编译为64位虽然(我在OS X 10.6上运行)所以它似乎总是报告64位,即使我使用这里描述的方法强制32位模式)。
3 回答
当年话下
TA贡献1890条经验 获得超9个赞
:一种方法是看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
神不在的星期二
TA贡献1963条经验 获得超6个赞
在终端/命令行中启动Python解释器时,您可能还会看到如下行:
Python 2.7.2 (default, Jun 12 2011, 14:24:46) [MSC v.1500 64 bit (AMD64)] on win32
哪里[MSC v.1500 64 bit (AMD64)]
意味着64位Python。适用于我的特定设置。
添加回答
举报
0/150
提交
取消