关于python:argparse“必修”可选参数

argparse “compulsory” optional arguments

python的argparse模块具有所谓的"可选"参数。默认情况下,名称以---开头的所有参数都是可选的。通常,强制参数是位置性的,因此在运行程序时,它们不会被显式命名。

例如,在脚本中:

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

调用如下:

1
$ hello-world czech

有时通过名称传递强制参数可能更好(例如,脚本调用更容易通过这种方式读取),但仍然是强制的。即

1
$ hello-world --use-lang czech

如何做到这一点?命名参数在argparse文档中被称为"可选",这使得它们听起来不像是强制的。有没有办法让它们成为强制性的?


根据Canonical documentation,it is possible to declare optional arguments that are compulsory.你使用required的理由

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