python add_argument_如何使用python argparse将add_argument_group添加到add_mutually_exclusive_group...

我正在尝试实现以下内容:

$prog.py -h

usage: prog.py [-h] [-s | -m] [[-y [year]] | [[-1 | -3] [month] [year]]]

但是,无论我如何玩add_argument_group和add_mutually_exclusive_group,

#!/usr/bin/env python

import argparse

def main(opt):

print(opt)

if __name__ == '__main__':

parser = argparse.ArgumentParser()

bar = parser.add_mutually_exclusive_group()

bar.add_argument('-s', action='store_true', default=True)

bar.add_argument('-m', action='store_true', default=False)

#bar = parser.add_argument_group()

bar = parser.add_mutually_exclusive_group()

bar.add_argument('-y', metavar='year', type=int,

dest='iy', nargs='?', default=0)

baz = bar.add_argument_group()

g_13 = baz.add_mutually_exclusive_group()

g_13.add_argument('-1', dest='i1',

help='Display single month output.',

action='store_true', default=True)

g_13.add_argument('-3', dest='i3',

help='Display prev/current/next month output.',

action='store_true', default=False)

#aaa = bar.add_argument_group()

baz.add_argument(metavar='month', type=int,

choices=range(1, 13),

dest='mo', nargs='?', default=1)

baz.add_argument(metavar='year', type=int,

dest='yr', nargs='?', default=2000)

main(parser.parse_args())

我只能管理:

$prog.py -h

usage: prog.py [-h] [-s | -m] [-y [year]] [-1 | -3] [month] [year]

也就是说,我不能将[-y [year]]和[[-1 | -3] [月] [年]]成为一个互斥的群体.我无法弄清楚为什么.有人可以帮忙吗?谢谢.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值