11

ラインは何ですか

#!/usr/bin/env python

に使用されるPythonスクリプトの最初の行で?

4

6 に答える 6

26

UNIX および Linux では、これはインタープリターとして使用するバイナリーを示します ( Wiki ページも参照してください)。たとえば、シェル スクリプトは によって解釈され/bin/shます。

#!/bin/sh

Python の場合、バイナリがどこにインストールされているか、またはどちらを使用するかを想定できないため、少し注意が必要です。したがって、/usr/bin/envトリック。で最初にある python バイナリを使用し$PATHます。実行していることを確認できますwhich python

インタープリター行を使用すると、スクリプトを実行可能ファイルに chmod することでスクリプトを実行できます。そして、それを実行するだけです。したがって、スクリプトで始まる

#!/usr/bin/env python

これら 2 つの方法は同等です。

$ python script.py

および(以前に行ったことがあると仮定してchmod +x script.py

$ ./script.py

これは、システム全体のスクリプトを作成するのに役立ちます。

cp yourCmd.py /usr/local/bin/yourCmd
chmod a+rx /usr/local/bin/yourCmd

そして、あなたはそれをどこからでも呼び出すだけです

yourCmd
于 2009-04-01T20:14:20.103 に答える
14

これはシバンラインと呼ばれます。

コンピューティングでは、シバン (ハッシュバン、ハッシュリング、またはパウンド バンとも呼ばれます) は文字「#!」を指します。テキスト ファイルの最初の 2 文字の場合。Unix ライクなオペレーティング システムは、これらの 2 つの文字の存在をファイルがスクリプトであることを示し、ファイルの最初の行の残りの部分で指定されたインタープリターを使用してそのスクリプトを実行しようとします。たとえば、Bourne シェルのシェル スクリプトは最初の行から始まります。

于 2009-04-01T20:10:09.240 に答える
5

UNIX および同様のオペレーティング システムでは、この行は、ファイルが実行された場合に使用されるインタープリターを示します。

于 2009-04-01T20:08:35.593 に答える
5

アンドリが言ったように。Windows では、コマンド ラインから起動されたときにファイルを実行する実行可能ファイルは、関連付けに依存しています。

16:12:40.68 C:\>assoc .py
.py=Python.File

16:13:53.45 C:\>assoc Python.File
Python.File=Python File

16:14:01.70 C:\>ftype Python.File
Python.File="C:\Python30\python.exe" "%1" %*

Unix では、シェル インタープリターは、ファイルを開き、ファイル内に指定​​されたコマンドがあるかどうかを確認することで、推論を行います。

于 2009-04-01T20:15:29.320 に答える
3

'/usr/bin/env python' は、$PATH から python を検索して実行します。

通常envは、プログラムのいくつかの環境変数を設定するために使用されます

その行は、インタープリターを指定せずに単にファイルを実行しようとした場合に、そのファイルをどう処理するかをコンピューターに指示することです ..詳細

于 2009-04-01T20:10:20.750 に答える
2

注意点として、この行はWindowsのインタープリターへのコメントにすぎません。

于 2009-04-01T20:52:34.440 に答える