gpt4 book ai didi

python - 还有其他方法可以用组解析参数吗?

转载 作者:太空宇宙 更新时间:2023-11-03 18:16:22 25 4
gpt4 key购买 nike

我刚刚尝试过这些:

arg = argparse.ArgumentParser(description='Corpse v0.1a Stable Alpha Experiment')
arg.add_argument('--about', help = 'About author and license information.', action = 'store_true')

gr_root = arg.add_mutually_exclusive_group()

gr_render = gr_root.add_mutually_exclusive_group()
gr_render.add_argument('-r', '--render', help = 'A raw text to render it into a corpus database.')
gr_render.add_argument('--append', help = 'If there is already a database, this option will be useful.', action = 'store_true')

gr_load = gr_root.add_mutually_exclusive_group()
gr_load.add_argument('-l', '--load', help = 'A database name to report the content.')
gr_load.add_argument('-p', '--pattern', help = 'The token pattern that is needed to be reported.')
gr_load.add_argument('--less', help = 'List the pattern that is "less and equal" than the count.', action = 'store')
gr_load.add_argument('--more', help = 'List the pattern that is "more and equal" than the count.', action = 'store')

args = vars(arg.parse_args())

我在这个平台上使用过一个问题,但我不记得是哪个问题了。当我使用 add_mutually_exclusive_group() 时,它似乎用“OR”运算符分隔组参数。我通过得到的输出理解了它:

usage: corpse.py [-h] [--about] [[-r RENDER | --append]
[-l LOAD | -p PATTERN | --less LESS | --more MORE]
corpse.py: error: argument --append: not allowed with argument -r/--render

但是,我想将参数分开给组以将它们一起使用,这意味着我想要这样:

[-r RENDER & --append]

不是这个:

[-r RENDER | --append]

我的意思是我将渲染附加参数一起使用,并且不与负载模式一起使用, 更少更多

最佳答案

http://bugs.python.org/issue22047解释了嵌套组的困难。请注意用法中的[[

目前最好的选择是在解析后进行测试。请参阅https://stackoverflow.com/a/24915802/901925 .

理想的使用线是什么样的?

<小时/>

这是基于子解析器的解决方案的粗略草图:

parser = ArguementParser()
sp = parser.add_subparsers(dest='cmd')

sp.add_parser('about')

spp = sp.add_parser('load', help='report content of a database')
spp.add_argument('database')
spp.add_argument('--pattern', ...)
spp.add_argument('--less', ...)
spp.add_argument('--more', ...)

spp = sp.add_parser('render', help='render text into a database')
spp.add_argument('text')
spp.add_argument('--append',...)

关于python - 还有其他方法可以用组解析参数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24952080/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com