Python:argparse子命令子命令?

Python:argparse子命令子命令?,第1张

概述我有一个有很多可用选项的程序. 例如,用于更改设置的配置选项. ./app config -h 使用普通的argparse子命令给我帮助 现在我想在config子命令中添加另一个子命令,名为list以列出配置值 ./app config list 此外,该命令应该接受另一个选项,以便我可以说 ./app config list CATEGORY 仅列出一个类别的配置 我现在的代码基本上就是这个命令 我有一个有很多可用选项的程序.
例如,用于更改设置的配置选项.
./app config -h

使用普通的argparse子命令给我帮助

现在我想在config子命令中添加另一个子命令,名为List以列出配置值

./app config List

此外,该命令应该接受另一个选项,以便我可以说

./app config List category

仅列出一个类别的配置

我现在的代码基本上就是这个命令

>>> parser = argparse.ArgumentParser()>>> subparsers = parser.add_subparsers(Title='subcommands',...                                    description='valID subcommands',...                                    help='additional help')>>> subparsers.add_parser('foo')>>> subparsers.add_parser('bar')>>> parser.parse_args(['-h'])usage:  [-h] {foo,bar} ...optional arguments:  -h,--help  show this help message and exitsubcommands:  valID subcommands  {foo,bar}   additional help

到目前为止,我找不到在子命令中使用子命令的任何方法.
如果这是可能的,怎么样?如果没有,还有其他方法可以实现这一目标吗?

提前致谢

解决方法
#file: argp.pyimport argparseparser = argparse.ArgumentParser(prog='PROG')parser_subparsers = parser.add_subparsers()sub = parser_subparsers.add_parser('sub')sub_subparsers = sub.add_subparsers()sub_sub = sub_subparsers.add_parser('sub_sub')                                                                       sub_sub_subparsers = sub_sub.add_subparsers()sub_sub_sub = sub_sub_subparsers.add_parser('sub_sub_sub')

似乎工作.

In [392]: run argp.pyIn [393]: parser.parse_args('sub sub_sub sub_sub_sub'.split())Out[393]: namespace()In [400]: sys.version_infoOut[400]: sys.version_info(major=2,minor=7,micro=2,releaselevel='final',serial=0)
总结

以上是内存溢出为你收集整理的Python:argparse子命令子命令?全部内容,希望文章能够帮你解决Python:argparse子命令子命令?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1207255.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存