ターミナルでPythonファイルを実行する


47

Ubuntuのターミナルで定期的にスクリプトを実行する方法を学ぼうとしています。ことで、私は精通していたbashwgetawk呼ばれているが、どのように私はPythonのファイルを端末で実行するために呼び出すのですか?私はこれを学びたいのですが、どこでそれを研究するのかわかりません。私が持っている.pywいくつかの参照するファイル.pyフォルダ内のファイルを。


以下でディファレンシャルケースので、それを含めてあまりにも一般的なオリジナルタイトル-関数を呼び出すために端末内のPythonスクリプトの実行についてstackoverflow.com/q/25837063/54964
レオ・レオポルド・ヘルツ준 영

回答:


81

オプション1:インタープリターを呼び出す

  • Python 2の場合: python <filename>.py
  • Python 3の場合: python3 <filename>.py

オプション2:スクリプトがインタープリターを呼び出すようにする

  1. ファイルの最初の行に#!/usr/bin/env python
  2. 実行可能にします- chmod +x <filename>.py
  3. そしてそれを実行します ./<filename>.py

理由は何ですか、.pyを実行したい場合、メソッドオプション1でのみ動作し、2番目は構文エラーを返しますか?
Krsztr

新しいpythonファイルを開きたい場合はどうしますか?
asmgx


5

また、-ipythonにフラグを追加することで、さらにコーディングするためにセッションを実行し続けることができます。このような:

python -i <file_name.py>

3
python <filename.py>

pywも同じ方法で実行する必要があると思います。インタラクティブコンソールを起動するには、

python

また、スクリプトの先頭にシェバンを追加することにより、Pythonを明示的に呼び出す必要を回避できます。

#!/usr/bin/env python

...またはその任意の数のバリエーション


2

最初の実行コマンド

chmod +x <filename>.py

次に、スクリプトの上部#!に、Pythonインタープリターのパスとパスを追加します。

#!/usr/bin/python

Pythonインタープリターが存在する場所からスクリプトを独立させたい場合は、envプログラムを使用できます。Pythonインタープリターがユーザーのディレクトリにあると仮定すると、ほとんどすべてのUnixバリアントが以下をサポートします$PATH

#! /usr/bin/env python

0

を使用cdして.pyを含むディレクトリに移動し、次の2つのコマンドのいずれかを実行します。

python <filename>.py  # for Python 2.x  
python3 <filename>.py # for Python 3.x 

または、次の2つのコマンドのいずれかを実行します。

python /path/to/<filename>.py  # for Python 2.x  
python3 /path/to/<filename>.py # for Python 3.x 

-2

python3代わりにコマンドを使用してみてくださいpython。スクリプトがPython3で作成されていて、Python2で実行しようとすると、問題が発生する可能性があります。Ubuntuには両方があります。プログラム名をpython3(の代わりにpython)に変更すると、これが可能になりました。Ubuntuにはv2.7(2017年2月16日現在)が必要なので、Python2を削除または削除しないでください。両方を保持してください。Python3を使用してスクリプトを実行する習慣を身に付けます。スクリプトはどちらでも実行できます。


1
-1 Python 3はPython 2スクリプトを実行できません(例外はほとんどありません)。
wjandrea

私の悪い、あなたの権利。おそらく、Ubuntuがまだpython 2を使用している理由です。ごめんなさい。wjandrea、ごめんなさい。
トニー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.