首先,我不认为这个问题与
Detect 64bit OS (windows) in Python
重复,
因为恕我直言,它还没有得到彻底的回答。
唯一接近的答案是:
使用
sys.getwindowsversion()
或存在 PROGRAMFILES(X86) (if 'PROGRAMFILES(X86)' in os.environ
)
但:
- windows环境变量
PROGRAMFILES(X86)
可靠吗?我担心任何人都可以创建它,即使它不存在于系统中。 - 如何使用
sys.getwindowsversion()
以获得架构?
关于sys.getwindowsversion()
:
链接http://docs.python.org/library/sys.html#sys.getwindowsversion
将我们引向http://msdn.microsoft.com/en-us/library/ms724451%28VS.85%29。 aspx
但我没有看到与架构(32 位/64 位)相关的任何内容。
此外,返回的元组中的平台元素似乎与架构无关。
最后一点:我正在寻找一种同时使用 python 2.5 和从 Windows XP 开始的 Windows 版本的解决方案
谢谢!
编辑:
相关信息可在此处获得
http://msdn.microsoft.com/en-us/library/ms724340%28v=VS.85%29.aspx
但我怎样才能用 python 得到这个?
Edit2:在 64 位 Windows 上,使用 32 位 python 解释器:
- os.environ["PROCESSOR_ARCHITECTURE"] 返回
- 'x86'
- platform.architecture() 返回
- ('32 位','WindowsPE')