Pythonでコマンドライン引数にアクセスする方法をわかりやすく解説
コマンドラインとは、オペレーティングシステムに対して実行可能なコマンドを入力するための場所です。Pythonスクリプトは、コマンドライン上でpython実行ファイルの後ろにスクリプト名を記述することで実行できます。
C:\users\acer>python test.py
スクリプトの処理に何らかのデータを受け渡したい場合は、スクリプト名に続けて、スペース区切りの値として記述します。このスペースで区切られた値のリストは「コマンドライン引数」と呼ばれます。
コマンドライン引数の例
C:\users\acer>python test.py Hello TutorialsPoint
スペースで区切られた各項目は、argv[]という特別なリストオブジェクトに格納されます。このオブジェクトは、Python標準ライブラリのsysモジュール内で定義されています。
上記の例では、リストオブジェクトの中身は次のようになります。
sys.argv[] = ['test.py', 'Hello', 'TutorialsPoint']
ポイントとして、リストの最初の要素(インデックス0)には必ずスクリプト自身のファイル名が格納され、実際の引数はインデックス1以降に順番に入ります。
プログラムから引数へアクセスする
プログラム内では、sysモジュールをインポートした上で、以下のように各引数にアクセスできます。
import sys
print("1番目のコマンドライン引数:", sys.argv[1])
print("2番目のコマンドライン引数:", sys.argv[2])補足:引数の個数を確認する
渡された引数の総数は len(sys.argv) で取得できます。引数が想定どおりに渡されているかを確認したい場合に便利です。
import sys
print("引数の総数:", len(sys.argv))
for i, arg in enumerate(sys.argv):
print(f"引数{i}:{arg}")このように、sys.argvを使えばコマンドラインからスクリプトへ柔軟にデータを渡すことができ、バッチ処理や自動化スクリプトなどで幅広く活用できます。
-
コマンドラインからPythonモジュールを呼び出す方法
コマンドラインからPythonモジュールを呼び出す基本方法 Pythonでスクリプトをモジュールとして作成する場合、その動作を手軽に確認する方法のひとつが、スクリプトの末尾に関数呼び出しを追加して実行することです。 1. スクリプトの末尾に関数呼び出しを追加する たとえば、次のように関数 fubar() を定義したスクリプトがあるとします。ファイルの最後に関数を呼び出すコードを記述します。 def fubar(): # 何か便利な処理を行う print(fubar が実行されました) fubar() 2. コマンドプロンプトから実行する ターミナル(コマンドプロンプト)で
-
コマンドラインからPython関数を実行する方法を解説
コマンドラインからPython関数を実行する方法Pythonで作成したモジュール内の関数を、わざわざスクリプトファイルを新しく作らずにコマンドラインから直接実行したい場面があります。そんなときに便利なのが、python コマンドの -c(command)オプションです。基本的な使い方例として、foobar.py というモジュールに sayHello() 関数が定義されているケースを考えます。この関数をコマンドラインから実行するには、以下のように -c オプションを使います。$ python -c import foobar; print(foobar.sayHello())-c の後ろには、実