Pertama, buka cmd dan ketik
$ python
Kemudian, ketikkan dua baris berikut
>>> import platform
>>> platform.architecture()
Ketik konsol Linux:
- Jika Anda ingin memeriksa apakah aplikasi memiliki arsitektur 64 bit atau 32 bit dengan menggunakan perintahnya untuk dijalankan:
type -p <command_to_run_application> | xargs readlink -f | xargs file -b | sed 's/, /\n/g' | sed -n 2p
- Jika Anda ingin memeriksa apakah aplikasi memiliki arsitektur 64 bit atau 32 bit dengan menggunakan jalur lengkap ke aplikasi:
file -b <full_path_to_an_application> | sed 's/, /\n/g' | sed -n 2p
Misalnya, untuk Python 3 perintah yang sesuai dapat berupa:
type -p python3 | xargs readlink -f | xargs file -b | sed 's/, /\n/g' | sed -n 2p
file -b /usr/bin/python3.5 | sed 's/, /\n/g' | sed -n 2p
Keluaran yang mungkin:
x86-64
atau
Intel 80386
atau
ARM
atau lainnya.
Jika keluarannya adalah "Intel 80386" maka aplikasi tersebut memiliki arsitektur 32 bit.
Jika keluarannya adalah "x86-64" maka aplikasi memiliki arsitektur 64 bit.
import platform
platform.architecture()[0]
#'32bit'
Untuk Python 2.6 ke atas, Anda dapat menggunakan sys.maxsize
seperti yang didokumentasikan di sini:
import sys
is_64bits = sys.maxsize > 2**32
PEMBARUAN:Saya perhatikan bahwa saya tidak benar-benar menjawab pertanyaan yang diajukan. Meskipun tes di atas secara akurat memberi tahu Anda apakah juru bahasa berjalan dalam arsitektur 32-bit atau 64-bit, itu tidak dan tidak dapat menjawab pertanyaan tentang rangkaian lengkap arsitektur yang dibuat oleh juru bahasa ini. dan dapat dijalankan. Seperti disebutkan dalam pertanyaan, ini penting misalnya dengan executable universal Mac OS X di mana satu file yang dapat dieksekusi dapat berisi kode untuk banyak arsitektur. Salah satu cara untuk menjawab pertanyaan tersebut adalah dengan menggunakan sistem operasi file
memerintah. Pada sebagian besar sistem ini akan melaporkan arsitektur yang didukung dari file yang dapat dieksekusi. Berikut cara melakukannya dalam satu baris dari baris perintah shell di sebagian besar sistem:
file -L $(python -c 'import sys; print(sys.executable)')
Menggunakan sistem default Python pada OS X 10.6, hasilnya adalah:
/usr/bin/python: Mach-O universal binary with 3 architectures
/usr/bin/python (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/python (for architecture i386): Mach-O executable i386
/usr/bin/python (for architecture ppc7400): Mach-O executable ppc
Di satu sistem Linux:
/usr/bin/python: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, stripped
BTW, inilah contoh mengapa platform
tidak dapat diandalkan untuk tujuan ini. Sekali lagi menggunakan sistem Python di OS X 10.6:
$ arch -x86_64 /usr/bin/python2.6 -c 'import sys,platform; print platform.architecture()[0], sys.maxsize > 2**32'
64bit True
$ arch -i386 /usr/bin/python2.6 -c 'import sys,platform; print platform.architecture()[0], sys.maxsize > 2**32'
64bit False