[解決済み] Python シェルが 32bit で実行されているか 64bit で実行されているかを判断するにはどうすればよいですか?
2022-03-19 06:58:59
質問
シェルがどのようなモードであるかをシェル内から知る方法が必要です。
私は主にOS Xのユーザーですが、他のプラットフォームについても知りたいです。
を見てみましたが プラットフォーム しかし、それは "ビットアーキテクチャと実行ファイルに使用されるリンク形式についてしか教えてくれないようです": バイナリは64ビットとしてコンパイルされているので(OS X 10.6 で実行しています)、メソッドを使用していても常に64ビットと報告されるようです。 ここに記載されている で強制的に32bitモードにする)。
解決方法は?
一つの方法として
sys.maxsize
を文書化したものです。
こちら
:
$ python-32 -c 'import sys;print("%x" % sys.maxsize, sys.maxsize > 2**32)'
('7fffffff', False)
$ python-64 -c 'import sys;print("%x" % sys.maxsize, sys.maxsize > 2**32)'
('7fffffffffffffff', True)
sys.maxsize
は Python 2.6 で導入されました。 もし古いシステム用のテストが必要なら、この少し複雑なテストは Python 2 と 3 のすべてのリリースで動作するはずです。
$ python-32 -c 'import struct;print( 8 * struct.calcsize("P"))'
32
$ python-64 -c 'import struct;print( 8 * struct.calcsize("P"))'
64
ちなみに、あなたはついつい
platform.architecture()
を使用します。 残念ながら、その結果は必ずしも信頼できるものではありません。
特にOS Xユニバーサルバイナリの場合
.
$ 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
関連
-
[解決済み】OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません。
-
[解決済み】Python elifの構文が無効です【終了しました
-
[解決済み] Pythonで、あるオブジェクトが反復可能かどうかを判断するにはどうしたらいいですか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] Pythonでファイルやフォルダを削除する方法は?
-
[解決済み] Pythonで文字列の部分文字列を取得するにはどうすればよいですか?
-
[解決済み] pipでPythonの全パッケージをアップグレードする方法
-
[解決済み] Pythonの辞書からキーを削除するにはどうしたらいいですか?
-
[解決済み] Pythonで文字列を小文字にするには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python カメの描画コマンドとその例
-
Python 可視化 big_screen ライブラリ サンプル 詳細
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み】socket.error: [Errno 48] アドレスはすでに使用中です。
-
[解決済み】 NameError: グローバル名 'xrange' は Python 3 で定義されていません。
-
[解決済み】「OverflowError: Python int too large to convert to C long" on windows but not mac
-
[解決済み】_csv.Error: field larger than field limit (131072)
-
[解決済み] エラー "filename.whl はこのプラットフォームでサポートされているホイールではありません。"
-
[解決済み] 形状やデータ型を持つ配列が割り当てられない
-
[解決済み] 64ビットWindowsへのSetupToolsのインストール