Detecting 64bit vs. 32bit Linux
MrJean1
MrJean1 at gmail.com
Sat Jul 8 13:14:43 EDT 2006
Try function architecture() from the platform module in Python 2.3 and
2.4. The first item of the returned tuple shows whether the underlying
system is 64-bit capable.
Here is what it returns on RedHat Fedora Core 2 Linux on Opteron:
>>> platform.architecture()
('64bit', 'ELF')
>>> platform.uname()
('Linux', 'XXXX', '2.6.16.14', '#1 SMP Sat Jul 1 14:09:18 CDT 2006',
'x86_64', 'x86_64')
On RedHat Fedora Core 2 on Pentium 4:
>>> platform.architecture()
('32bit', 'ELF')
>>> platform.uname()
('Linux', 'XXXX', '2.6.10-1771-FC2', '#1 Mon Mar 28 00:50:14 EST 2005',
'i686', 'i686')
And on MacOS X 10.3.9 G4:
>>> platform.architecture()
('32bit', '')
>>> platform.uname()
('Darwin', 'XXXX', '7.9.0', 'Darwin Kernel Version 7.9.0: Wed Mar 30
20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC ', 'Power
Macintosh', 'powerpc')
/Jean Brouwers
dwelch91 wrote:
> I need to detect whether the operating system I am running on (not the
> Python version) is 64bit or 32bit. One requirement is that I need to
> include support for non-Intel/AMD architectures.
>
> The 2 ways I have thought detecting 64bit are:
>
> 1. struct.calcsize("P") == 8
> 2. '64' in os.uname()[4]
>
> I'm not convinced that either one of these is really adequate. Does
> anybody have any other ideas on how to do this?
>
> Thanks,
>
> Don
More information about the Python-list
mailing list