可能重复:
How do I determine if my python shell is executing in 32bit or 64bit mode?
我正在使用Windows注册表做一些工作。根据您是以32位还是64位运行python,键值将不同。如何检测Python是否作为64位应用程序运行而不是32位应用程序?
注意:我对检测32位/ 64位Windows不感兴趣 - 只是Python平台。
答案 0 :(得分:176)
import platform
platform.architecture()
来自Python docs:
查询给定的可执行文件(默认值 到Python解释器二进制)for 各种架构信息。
返回一个元组(位,链接) 包含有关位的信息 架构和链接格式 用于可执行文件。两个值 以字符串形式返回。
答案 1 :(得分:58)
虽然它可能在某些平台上有效,但请注意platform.architecture
并不总是确定python是以32位还是64位运行的可靠方法。特别是,在某些OS X多架构构建中,相同的可执行文件可以在任一模式下运行,如下面的示例所示。最安全的多平台方法是在Python 2.6,2.7,Python 3.x上测试sys.maxsize
。
$ arch -i386 /usr/local/bin/python2.7
Python 2.7.9 (v2.7.9:648dcafa7e5f, Dec 10 2014, 10:10:46)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import platform, sys
>>> platform.architecture(), sys.maxsize
(('64bit', ''), 2147483647)
>>> ^D
$ arch -x86_64 /usr/local/bin/python2.7
Python 2.7.9 (v2.7.9:648dcafa7e5f, Dec 10 2014, 10:10:46)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import platform, sys
>>> platform.architecture(), sys.maxsize
(('64bit', ''), 9223372036854775807)