首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >argparse可选参数

argparse可选参数
EN

Stack Overflow用户
提问于 2012-08-01 21:36:02
回答 1查看 945关注 0票数 2

我用python编写了以下代码:

代码语言:javascript
复制
group = parser.add_mutually_exclusive_group()
group.add_argument('-a', '--add', dest='name_to_add', help='Add a new group or a role to existing group')
group.add_argument('-u', '--upgrade', dest='name_to_upgrade', help='Upgrade a group with the new version')
group.add_argument('-r', '--remove', dest='name_to_remove', help='Remove a group')
group.add_argument('-l', '--list', dest="list_server_or_group_name", help='Get group or server state/configuration')

我的问题是"-l“选项。我希望能够列出一个特定的组,并列出所有组。目前,我使用以下方法:

"python my_script.py -l group_name“-用于列出特定的组,"python my_script.py -l all”-用于列出所有组。

但是我想列出所有的组:"python my_script.py -l“。我应该如何更改我的代码才能以这种方式运行它?我如何在以后的代码中检查它呢?

谢谢,阿尔沙夫斯基·亚历山大。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-01 21:38:50

这在optparse中是不可能的。

但是,如果从optparse切换到argparse (从2.73.2开始),则可以传递nargs='?'

'?‘。如果可能,将从命令行使用一个参数,并将其作为单个项生成。如果不存在命令行参数,则将生成默认值。

代码语言:javascript
复制
group.add_argument('-l', '--list', dest="list_server_or_group_name",
                   help='Get group or server state/configuration',
                   nargs='?', default=None, const='all')
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11760468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档