猿问

如何确定我的pythonshell是在OSX上以32位还是64位模式执行呢?

如何确定我的pythonshell是在OSX上以32位还是64位模式执行呢?

我需要一种方法来从shell内部判断shell的模式。

我试着看着平台模块,但它似乎只告诉您“有关位结构和可执行文件所用的链接格式”:二进制文件被编译为64位(我运行在OSX10.6上),所以它似乎总是报告64位,即使我使用这些方法。在此描述强制32位模式)。


慕虎7371278
浏览 690回答 3
3回答

慕姐4208626

更新:一种方法是查看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.maxsi ze, sys.maxsize > 2**32)'('7fffffffffffffff', True)sys.maxsize是在Python2.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()为了这个。不幸的是,它的结果并不总是可靠的,特别是在OSX通用二进制文件的情况下.$ arch -x86_64 /usr/bin/python2.6 -c 'import sys,platform; print platform.architecture()[0], sys.maxsize > 2**32'64bit True$ arch -i38 6 /usr/bin/python2.6 -c 'import sys,platform; print platform.architecture()[0], sys.maxsize > 2**32'64bit False

慕运维8079593

在终端/命令行中启动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。适用于我的特殊设置。
随时随地看视频慕课网APP

相关分类

Python
我要回答