123456789101112131415161718192021222324252627282930313233 |
- """is64bit.Python() --> boolean value of detected Python word size. is64bit.os() --> os build version"""
- import sys
- def Python():
- if sys.platform == 'cli': #IronPython
- import System
- return System.IntPtr.Size == 8
- else:
- try:
- return sys.maxsize > 2147483647
- except AttributeError:
- return sys.maxint > 2147483647
- def os():
- import platform
- pm = platform.machine()
- if pm != '..' and pm.endswith('64'): # recent Python (not Iron)
- return True
- else:
- import os
- if 'PROCESSOR_ARCHITEW6432' in os.environ:
- return True # 32 bit program running on 64 bit Windows
- try:
- return os.environ['PROCESSOR_ARCHITECTURE'].endswith('64') # 64 bit Windows 64 bit program
- except IndexError:
- pass # not Windows
- try:
- return '64' in platform.architecture()[0] # this often works in Linux
- except:
- return False # is an older version of Python, assume also an older os (best we can guess)
- if __name__ == "__main__":
- print("is64bit.Python() =", Python(), "is64bit.os() =", os())
|