ターミナルからpython script script.pyと入力するだけでscriptと呼び出します。これは可能ですか?可能な場合、どのようにですか?
スクリプトの先頭に#!/ usr/bin/env pythonを追加することでpython script.pyの入力を回避できることはわかっていますが、サフィックスを追加する必要があります。pyスクリプトを実行するため。
Unix/Linuxファイルシステムは、Windowsのように拡張機能に依存しません。 .py
それを実行するためにファイルの最後に。
インタプリタで呼び出すことでファイルを実行できます:
python ScriptFile
または、実行可能としてマークし、最初の行にインタープリターを定義します(例:#!/usr/bin/python
)。
次の方法でファイルを実行できない場合:
/Path/to/ScriptFile
権限を確認してください
ls -l ScriptFile
実行可能フラグを追加してchmod
を追加すると、実行可能になります。
カスタムスクリプトを定期的に使用している場合は、スクリプトを保存するディレクトリがPATH
環境変数に追加されていることを確認してください。
.py
拡張子は、スクリプトの実行には不要です。スクリプトを実行可能にする必要があるだけです(例:chmod a+x script
)とShebang行(#!/usr/bin/env python
)。
オプションとして、スクリプトのラッパー(.py
ファイル)を作成できます。
たとえば、スクリプトrunme.py
があるため、新しいファイルrunme
を作成してスクリプトをラップできます。
#!/usr/bin/env python
import runme
次に、シェルでrunme
を呼び出すだけでrunme.py
機能を呼び出します。
これは、マルチプラットフォームスクリプトに役立ちます。Windowsプラットフォームでは、.py
ファイルを名前なしで呼び出すことができ、拡張子なしでShebangをヘッダーに含めることができますが、Linuxプラットフォームではできません。したがって、ラッパーが出てきます。