32-bit oder 64-bit herausfinden

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
campino97
User
Beiträge: 42
Registriert: Freitag 3. September 2010, 20:11

Hallo
Wie kann ich mit Python herausfinden, ob ich ein 32-bit oder ein 64-bit System benutze?
Danke
karolus
User
Beiträge: 141
Registriert: Samstag 22. August 2009, 22:34

Hallo

Code: Alles auswählen

...
print sys.arch
Karo
campino97
User
Beiträge: 42
Registriert: Freitag 3. September 2010, 20:11

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!
karolus
User
Beiträge: 141
Registriert: Samstag 22. August 2009, 22:34

Hallo
Anscheinend gibts sys.arch nur auf unix-artigen OS nicht unter windows.

Karo
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

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?
the more they change the more they stay the same
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

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?
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
karolus
User
Beiträge: 141
Registriert: Samstag 22. August 2009, 22:34

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
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Ist ja lustig... wieso ist das nicht irgend wie dokumentiert?
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
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.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

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!?
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

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
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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``.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten