GNU/Linux >> Linux の 問題 >  >> Linux

Pythonが64ビットか32ビットかを確認するために使用するコマンド

まず、cmd を開いて

と入力します。
$ python

次に、次の 2 行を入力します

>>> import platform

>>> platform.architecture()

Linux コンソールに入力:

<ブロック引用> <オール>
  • 実行コマンドを使用して、アプリケーションのアーキテクチャが 64 ビットか 32 ビットかを確認したい場合:
  • type -p <command_to_run_application> | xargs readlink -f | xargs file -b | sed 's/, /\n/g' | sed -n 2p
    
    <ブロック引用>
    1. アプリケーションへのフル パスを使用して、アプリケーションが 64 ビットまたは 32 ビット アーキテクチャであるかどうかを確認する場合:
    file -b <full_path_to_an_application> | sed 's/, /\n/g' | sed -n 2p
    

    たとえば、Python 3 の場合、対応するコマンドは次のようになります:

    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
    

    可能な出力:

    x86-64
    

    または

    Intel 80386
    

    または

    ARM
    

    またはその他。

    出力が「Intel 80386」の場合、アプリケーションは 32 ビット アーキテクチャです。

    出力が「x86-64」の場合、アプリケーションのアーキテクチャは 64 ビットです。


    import platform
    platform.architecture()[0]
    #'32bit'
    

    Python 2.6 以降では、 sys.maxsize を使用できます ここに記載されているとおり:

    import sys
    is_64bits = sys.maxsize > 2**32
    

    更新:提起された質問に実際には答えていないことに気付きました。上記のテストは、インタープリターが 32 ビットまたは 64 ビットのアーキテクチャで実行されているかどうかを正確に示していますが、このインタープリターが構築されたアーキテクチャの完全なセットは何かという質問には答えられませんし、答えることもできません。質問で述べたように、これは、たとえば、1 つの実行可能ファイルに複数のアーキテクチャのコードが含まれている可能性がある Mac OS X ユニバーサル実行可能ファイルの場合に重要です。その質問に答える 1 つの方法は、オペレーティング システム file を使用することです。 指図。ほとんどのシステムでは、実行可能ファイルのサポートされているアーキテクチャが報告されます。ほとんどのシステムで、シェル コマンド ラインから 1 行で実行する方法は次のとおりです。

    file -L $(python -c 'import sys; print(sys.executable)')
    

    OS X 10.6 でデフォルトのシステム Python を使用すると、出力は次のようになります:

    /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
    

    1 つの 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
    

    ところで、ここに platform の理由の例を示します この目的では信頼できません。ここでも OS X 10.6 でシステム Python を使用します:

    $ 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
    

    Linux
    1. LinuxでSuコマンドを使用する方法

    2. 安全なファイル転送のためにSFTPコマンドを使用する方法

    3. エイリアスコマンドで`which`を使用する方法は?

    1. Cdへの入力に使用されるコマンドの出力はどれですか?

    2. Linux –カレンダーに使用するアプリケーションはどれですか?

    3. Raspberry Pi で Python Selenium を使用するために PhantomJS をインストールするにはどうすればよいですか?

    1. どのLinuxターミナルコマンドを最もよく使用しますか?

    2. Linuxで「find」コマンドを使用して複数のファイル名(拡張機能)を検索する方法

    3. Linuxコンテナを最初に使用したワークロードはどれですか?