可选参数和非可选参数python_python – Argparse:必需的参数列在“可选参数”下?...

以 – 或 – 开头的参数通常被认为是可选的。所有其他参数是位置参数,并且如设计所需(如位置函数参数)。可能需要可选的参数,但这是有点反对他们的设计。因为它们仍然是非位置参数的一部分,它们仍将被列在混乱标题“可选参数”下,即使它们是必需的。然而,使用部分中缺少的方括号表明它们确实是必需的。

In general, the argparse module assumes that flags like -f and –bar indicate optional arguments, which can always be omitted at the command line.

Note: Required options are generally considered bad form because users expect options to be optional, and thus they should be avoided when possible.

话虽如此,帮助中的头部“位置参数”和“可选参数”由两个参数组生成,其中参数自动分为。现在,你可以“入侵”并改变可选的名称,但一个更优雅的解决方案是为“需要命名的参数”(或任何你想要的名称)创建另一个组:

parser = argparse.ArgumentParser(description='Foo')

parser.add_argument('-o', '--output', help='Output file name', default='stdout')

requiredNamed = parser.add_argument_group('required named arguments')

requiredNamed.add_argument('-i', '--input', help='Input file name', required=True)

parser.parse_args(['-h'])

usage: [-h] [-o OUTPUT] -i INPUT

Foo

optional arguments:

-h, --help show this help message and exit

-o OUTPUT, --output OUTPUT

Output file name

required named arguments:

-i INPUT, --input INPUT

Input file name

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值