Zunächst einmal glaube ich nicht, dass diese Frage ein Duplikat ist von
64bit-Betriebssystem (Windows) in Python erkennen
weil sie imho noch nicht gründlich beantwortet wurde.
Die einzige naheliegende Antwort ist:
Utilice
sys.getwindowsversion()
oder die Existenz von PROGRAMFILES(X86) (if 'PROGRAMFILES(X86)' in os.environ
)
Aber:
- Ist die Windows-Umgebungsvariable
PROGRAMFILES(X86)
zuverlässig? Ich befürchte, dass jeder sie erstellen kann, auch wenn sie nicht auf dem System vorhanden ist. - Wie zu verwenden
sys.getwindowsversion()
um die Architektur zu erhalten?
Betreffend sys.getwindowsversion()
:
Der Link http://docs.python.org/library/sys.html#sys.getwindowsversion
führt uns zu http://msdn.microsoft.com/en-us/library/ms724451%28VS.85%29.aspx
aber ich sehe nichts, was sich auf die Architektur (32bit/64bit) bezieht.
Außerdem scheint das Plattformelement im zurückgegebenen Tupel unabhängig von der Architektur zu sein.
Eine letzte Anmerkung: Ich suche nach einer Lösung, die sowohl Python 2.5 als auch eine Windows-Version ab Windows XP verwendet
Danke!
Editar:
Die entsprechenden Informationen finden Sie hier
http://msdn.microsoft.com/en-us/library/ms724340%28v=VS.85%29.aspx
aber wie kann ich dies mit Python bekommen?
Bearbeiten2: Auf einem 64bit Windows, mit einem 32bit Python-Interpreter:
- os.environ["PROCESSOR_ARCHITECTURE"] gibt zurück
- 'x86'
- platform.architecture() gibt zurück
- ('32bit', 'WindowsPE')