我用python编写了以下代码:
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“。我应该如何更改我的代码才能以这种方式运行它?我如何在以后的代码中检查它呢?
谢谢,阿尔沙夫斯基·亚历山大。
发布于 2012-08-01 21:38:50
这在optparse中是不可能的。
但是,如果从optparse切换到argparse (从2.7或3.2开始),则可以传递nargs='?'
'?‘。如果可能,将从命令行使用一个参数,并将其作为单个项生成。如果不存在命令行参数,则将生成默认值。
group.add_argument('-l', '--list', dest="list_server_or_group_name",
help='Get group or server state/configuration',
nargs='?', default=None, const='all')https://stackoverflow.com/questions/11760468
复制相似问题