web-dev-qa-db-ja.com

argparse「強制」オプション引数

Pythonのargparseモジュールには、「オプション」引数と呼ばれるものがあります。名前が-または--で始まるすべての引数は、デフォルトではオプションです。通常、強制的な引数は定位置引数であるため、プログラムの実行時には明示的にnamedではありません。

たとえば、次のようなスクリプトでは、

parser.add_argument('language', help="Output language")

呼び出しは次のようになります。

$ hello-world czech

必須の引数を名前で渡す方が良い場合があります(たとえば、スクリプトによる呼び出しはこのように読みやすい)が、それでも必須です。つまり.

$ hello-world --use-lang czech

これを達成する方法は?名前付き引数はargparseのドキュメントでは「オプション」と呼ばれ、cannotが必須であるように思われます。それらを強制的にする方法はありますか?

31
ArjunShankar

正規のドキュメントによれば、 必須の「オプション」引数を宣言する が可能です。 add_argumentrequired名前付き引数を使用します。

parser.add_argument('--use-lang', required=True, help="Output language")
34
ArjunShankar