対話モードで、ちょっとしたコードを入力の都度、実行。
テキストエディタでコーディング完成済みのスクリプトファイルを実行。基本的にこっち。
プログラミングの作業は、「コーディング(コードを書く)→実行(プログラムを動かす)してみる」の繰り返し。
プログラムの実行は端末から行うのが基本。対話モードでないならテキストエディタ(geditなど)も使う。
python3
コマンドを単に打つと、コマンドプロンプトが>>>
になったPythonの対話モードになる。これは短いプログラムを入力してその都度実行していく形式。ちょっとしたテスト向き。
下記はprint "Hello, world!"
、2**20
(2の20乗)と入力実行したもの。print関数は文字を出力する。Python対話モードの終了はquit()
と入力。
python3
Python 3.6.5 (default, May 27 2018, 22:03:54)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Hello, world!")
Hello, world!
>>> 2**20
1048576
>>> quit()
予めプログラム全体をファイルにコーディングしておき(スクリプトファイル)、それをpython3
コマンドで実行する。ファイル名末尾(拡張子)は.py
にすることが多い。
python3 /path/to/スクリプトファイル.py
これだけで十分で、下記はpython3
コマンドを省略したい場合。
下記のように、明示的にpython3
コマンドを打たず、スクリプトパスだけで実行できるようにもするには、シェバンと実行権限の設定が必要。
# フルパスで実行
/path/to/スクリプトファイル.py
# カレントディレクトリにある場合の実行
./スクリプトファイル.py
スクリプトファイル先頭行に下記のように#!
という記号に続けてインタプリタ(スクリプトを解釈するプログラム、ここではPython)のフルパスを指定する。この記述をシェバンという。
#!/usr/bin/python3
Python3のフルパスはtype python3
というコマンドで調べられる。OSや環境によっては上記とは別のパスになる。特にPython仮想環境virtualenvはそれぞれ異なる。そこでシェバンを下記のようにすると、様々な環境でも「そこにおけるPython3」が呼び出されて機能することが多い。
#!/usr/bin/env python3
chmod
コマンドでファイルの実行権限を付ける。
chmod 775 スクリプトファイル.py
Python3のスクリプトをコマンド化したい場合。シェバンと実行権限を設定したスクリプトファイルを、シェル(Bash)の環境変数PATH
でリストされているディレクトリに置くと、コマンドのようにどこからでも「スクリプトファイル名」だけで実行できる。