У меня проблемы с поломкой на основе x86 против x64 в Python 3 на Windows.
Мне нужно знать, запущена ли моя программа Python:
- В x64 и x86 Аппаратное обеспечение
- В x64 и x86 Операционная система
- В x64 и x86 Процесс
Они не являются тоже самое (вообще!).
Процессоры архитектуры AMD64 могут работать с 64- или 32-битными операционными системами .
И 64-битные операционные системы могут работать с 64- или 32-битными процессами .
Я знаю, что:
- Python *
platform.architecture()
возвращает строку - но какой из этих 3 он представляет? (Документация, кажется, не говорит.) - Если
(sys.maxsize > 2**32)
, то я в 64-битном процессе. Fine; но если я нахожусь в 32-битном процессе, как я могу сказать, нахожусь ли я на 64 или 32-битной ОС?
Чтобы предупредить неизбежное "почему вас это волнует?" вопросы, это потому, что моя Python программа автоматизирует настройку Windows - на x86 все обстоит иначе, чем на x64 Windows, но я заранее не знаю, будет ли моя программа работать на 32 или 64 битах Python.
Так что мне нужно это выяснить.