Я думаю, что модуль платформы - действительно лучший способ получить эту информацию.
>>> import platform
>>> platform.platform()
'Windows-7-6.1.7601-SP1'
platform.processor()
'Intel64 Family 6 Model 42 Stepping 7, GenuineIntel'
Я не вижу, где отсюда получить твердый ответ на 32/64 битных окнах, поэтому я предлагаю это:
try:
os.environ["PROGRAMFILES(X86)"]
bits = 64
except:
bits = 32
print "Win{0}".format(bits)
или, если вам нужно знать, какой тип Python вы используете (как вы можете запустить x32 python под Windows x64):
x32 python x64 windows:
>>> platform.architecture()
('32bit', 'WindowsPE')
>>> sys.version
'2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)]'
x64 python x64 windows:
>>> platform.architecture()
('64bit', 'WindowsPE')
>>> sys.version
'2.7.2 (default, Jun 12 2011, 14:24:46) [MSC v.1500 64 bit (AMD64)]'