没有参数不指定行为看样子不行
【 在 Madlee (无竹居士) 的大作中提到: 】
: 标 题: ArgumentParser.add_subparsers 怎么能正确显示help信息?
: 发信站: 水木社区 (Wed Mar 16 09:47:02 2022), 转信
:
:
: from argparse import ArgumentParser
: parser = ArgumentParser()
: subs = parser.add_subparsers()
:
: parser_save = subs.add_parser('save')
: parser_save.add_argument('--redis', default='azoth')
: parser_save.add_argument('-d', '--date', type=int, default=None)
: parser_save.add_argument('output')
: parser_save.set_defaults(main=save)
:
: parser_load = subs.add_parser('load')
: parser_load.add_argument('--redis', default='azoth')
: parser_load.add_argument('-d', '--date', type=int, default=None)
: parser_load.add_argument('archive')
: parser_load.set_defaults(main=load)
:
: args = parser.parse_args()
args = parser.parse_args(None if sys.argv[1:] else ['-h'])
: args.main(**vars(args))
:
:
: 这样的代码,如果运行程序时不带任何参数,希望能显示正确的help信息,(最简单显示有几个subparser)
: 但现在运行后出现的出错信息是:
: AttributeError: 'Namespace' object has no attribute 'main'
:
:
: 请教一下,应该怎么改才能让程序在不带参数运行时正确显示help信息?
:
: 谢谢。
:
: --
:
: ※ 来源:·水木社区
http://www.mysmth.net·[FROM: 101.88.154.*]
--
FROM 61.149.143.*