Pythonの勉強を進める中で、「スクリプトをどうやって実行するのか」や「コマンドラインオプションにはどんなものがあるのか」について気になったことがありました。
ここでは、自分の学習記録として、Pythonのコマンドに関する基本的な使い方をまとめておきます。実際にターミナルなどで使ってみることで理解が深まるかもしれません。
Pythonコマンドの基本
Pythonスクリプトは以下のように実行するのが基本です。
python ファイル名.py
ここにオプションを加えることで、さまざまな便利な使い方ができます。
よく使うオプションの解説
-i
:スクリプト実行後に対話モードに入る
python -i example.py
スクリプトを実行し、その後に対話モード(インタラクティブシェル)に入ります。スクリプト内で定義された変数や関数をそのまま使って操作を続けたいときに便利です。
-m
:モジュールをスクリプトのように実行する
python -m http.server
http.server
のようなモジュールをコマンドラインから直接実行できます。標準モジュールだけでなく、インストール済みのモジュールにも使えます。
-c
:1行だけPythonコードを実行する
python -c "print('Hello, world!')"
ちょっとした処理を1行で試したいときに便利です。スクリプトファイルを作成せずに動作を確認できます。
--version
または -V
:Pythonのバージョンを確認する
python --version
# または
python -V
現在使っているPythonのバージョンを確認できます。
補足:sys.argv で引数を受け取る
次のようなスクリプトを作っておくと、コマンドライン引数がどのように渡されるかを確認できます。
# example.py
import sys
print(sys.argv)
このファイルを実行すると、渡された引数がリストとして出力されます。
実行例1(引数なし):
python example.py
出力:
['example.py']
実行例2(引数あり):
python example.py apple banana 123
出力:
['example.py', 'apple', 'banana', '123']
引数はすべて文字列として受け取られます。たとえば "123"
も数値ではなく文字列です。
補足:シバン(shebang)でスクリプトを直接実行する
Pythonファイルの先頭に「シバン(shebang)」と呼ばれる1行を加えると、スクリプトを直接実行できるようになります。
たとえば example.py
の中身を次のように書きます:
# example.py
#!/usr/bin/env python3
print("Hello, world!")
このファイルに対して実行権限を与えると、以下のようにコマンドとして直接実行できます。
chmod +x example.py
./example.py
これにより、python example.py
と打たずにスクリプトそのものを実行できるようになります。
macOSやLinuxではこの形式がよく使われますが、Windowsではあまり一般的ではありません。
おわりに
Pythonのコマンドはつい忘れがちですが、しっかり覚えておくことでPythonをより便利に使えるようになると感じました。
もしまだ使ったことがないコマンドがあれば、ぜひターミナルで試してみてください。