Seite 1 von 1

32-bit oder 64-bit herausfinden

Verfasst: Freitag 22. Juni 2012, 13:35
von campino97
Hallo
Wie kann ich mit Python herausfinden, ob ich ein 32-bit oder ein 64-bit System benutze?
Danke

Re: 32-bit oder 64-bit herausfinden

Verfasst: Freitag 22. Juni 2012, 13:47
von karolus
Hallo

Code: Alles auswählen

...
print sys.arch
Karo

Re: 32-bit oder 64-bit herausfinden

Verfasst: Freitag 22. Juni 2012, 13:56
von campino97
ok
Also den Befehl

Code: Alles auswählen

sys.arch
gibt es bei mir nicht.
Welche Version benutzt du?
Aber als ich sys.arch bei google gesucht habe, hab ich einen anderen Befehl gefunden.

Code: Alles auswählen

platform.architecture()
damit findet man raus ob es 32-bit oder 64-bit ist
Trotzdem Danke!

Re: 32-bit oder 64-bit herausfinden

Verfasst: Freitag 22. Juni 2012, 14:39
von karolus
Hallo
Anscheinend gibts sys.arch nur auf unix-artigen OS nicht unter windows.

Karo

Re: 32-bit oder 64-bit herausfinden

Verfasst: Freitag 22. Juni 2012, 14:44
von Dav1d
karolus hat geschrieben:Hallo
Anscheinend gibts sys.arch nur auf unix-artigen OS nicht unter windows.

Karo
Nein

Code: Alles auswählen

─[ArchBox][~]╼ python2 -c "import sys; print sys.arch"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
AttributeError: 'module' object has no attribute 'arch'
─[ArchBox][~]╼ python -c "import sys; print sys.arch" 
Traceback (most recent call last):
  File "<string>", line 1, in <module>
AttributeError: 'module' object has no attribute 'arch'
─[ArchBox][~]╼ 
Ist auch nirgends dokumentiert. Evt. eine sehr alte Installation bevor es platform gab, also Python 2.2?

Re: 32-bit oder 64-bit herausfinden

Verfasst: Freitag 22. Juni 2012, 14:46
von Hyperion
Ich finde `sys.arch` weder in der Doku zu Python 3.2 noch zu Python 2.7!
Und in einer Python-Shell taucht es auch nicht auf ;-)

Ich verwende ArchLinux.

In der Doku sollte es ja aber grundsätzlich stehen, wenn es dieses Attribut gäbe, oder?

Re: 32-bit oder 64-bit herausfinden

Verfasst: Freitag 22. Juni 2012, 15:48
von karolus
Hallo
Unter Suse 11.3

Code: Alles auswählen

Python 2.7 (r27:82500, Aug 07 2010, 16:54:59) [GCC] on linux2
Type "copyright", "credits" or "license()" for more information.
>>> import sys
>>> sys.arch
'x86_64'
in Windows ( VM ) gibts sys.arch nicht.

Karo

Re: 32-bit oder 64-bit herausfinden

Verfasst: Freitag 22. Juni 2012, 15:57
von Hyperion
Ist ja lustig... wieso ist das nicht irgend wie dokumentiert?

Re: 32-bit oder 64-bit herausfinden

Verfasst: Freitag 22. Juni 2012, 19:14
von BlackJack

Code: Alles auswählen

$ python2.7
Python 2.7.1 (r271:86832, Apr  8 2011, 17:52:17) 
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.arch
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'arch'
Bei mir gibt's das auch nicht. Auch nicht in 2.6.

Re: 32-bit oder 64-bit herausfinden

Verfasst: Freitag 22. Juni 2012, 19:20
von Hyperion
Ich habe auch bei google nichts dazu gefunden; auch in der Doku von Python 2.2 steht dazu nichts! Das kommt mir irgend wie ziemlich sonderbar vor... das wird doch kein spezieller SUSE-Hack sein!?

Re: 32-bit oder 64-bit herausfinden

Verfasst: Samstag 23. Juni 2012, 14:38
von noisefloor
Hallo,

Ubuntu 12.04 mit Python 2.7.3 aus den Quellen kennt auch kein `sys.arch`, gleicher Fehler wie bei BlackJack.
das wird doch kein spezieller SUSE-Hack sein!?
Wir von der Ubuntu-Fraktion sagen ja auch immer: Finger weg von Suse *SCNR*

Gruß, noisefloor

Re: 32-bit oder 64-bit herausfinden

Verfasst: Samstag 23. Juni 2012, 16:02
von Leonidas
campino97 hat geschrieben:Aber als ich sys.arch bei google gesucht habe, hab ich einen anderen Befehl gefunden.

Code: Alles auswählen

platform.architecture()
damit findet man raus ob es 32-bit oder 64-bit ist
Achtung! Das tut es nicht. Das sagt dir, wenn du keine Argumente angibst, welche Architektur dein Python-Interpreter hat und unter Mac OS X selbst das nicht unbedingt genau. Jetzt ist halt die Frage, ob du wissen willst, ob das System 64-Bit ist oder der Interpreter. Denn unter Windows wird auch wenn das System 64-Bittig ist, der Interpreter oft als 32-Bit-Version verwendet. Um die Architektur des Systems zu bestimmen gibt es ``platform.machine()``, um die Architektur des Interpreters zu bestimmen empfiehlt die Doku diesen Code: ``is_64bits = sys.maxsize > 2**32``.