Pythonでは、コマンドライン引数を取得するためにsys.argv
とargparse
という2つの主要な方法があります。
sys.argv
sys.argv
は、コマンドライン引数を文字列のリストとして受け取ります。このリストの最初の要素、つまりsys.argv[0]
は、実行されたPythonスクリプトの名前になります。
import sys
print(sys.argv)
上記のコードをmain.py arg1 arg2
というコマンドで実行すると、出力は['main.py', 'arg1', 'arg2']
となります。
argparse
一方、argparse
はより高度なコマンドラインパーサで、sys.argv
を解析してデータをより使いやすい形式で返します。argparse
を使用すると、ヘルプメッセージの表示などが可能になり、より柔軟で分かりやすいコードを記述することができます。
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("file_name", type=str, help="File name")
parser.add_argument("password", type=str, help="Password")
args = parser.parse_args()
print(f"File name: {args.file_name}, Password: {args.password}")
上記のコードをpython3 main.py samplefile 123
というコマンドで実行すると、出力はFile name: samplefile, Password: 123
となります。
まとめ
Pythonでコマンドライン引数を取得するためには、sys.argv
とargparse
の2つの方法があります。どちらを使用するかは、スクリプトの複雑さや必要な機能によります。簡単なスクリプトではsys.argv
が十分ですが、より複雑なスクリプトではargparse
の方が適しています。