ドキュメントが少し分かりづらかったのでメモ。
起動時の引数を便利に扱えるargparseモジュール
Pythonには、起動時の引数を便利に扱えるargparseモジュールがあります。
位置引数とオプション引数
argparseで扱う引数には以下の2種類があります。
- 位置引数(infile1など)
- オプション引数(-fや--barなど)(=フラグ)
(公式ドキュメントのargparseの「name または flags」に書かれています)
add_argument()メソッド
どんな引数を指定できるかをadd_argument()
メソッドで指定できますが、位置引数が必須だからと
argument.add_argument(
'infile1',
required=True,
help='input file'
)
のように書いてしまうと、実行時に「'required' is an invalid argument for positionals
」とエラーになり実行できません。
「required
」はオプション引数のみに指定できる
「required
」はオプション引数に対する指定なため、位置引数に指定するとエラーになります。
もともと位置引数は必須なため、該当オプションの「required=True」を消せば、想定した動作になります。