如何解决Python ArgsParser 具有不同参数集的互斥组
- 具有“-url(强制)-u(可选)-p(可选)”或“-l(强制)”组的组。
我的代码是这样的:
def cmdline():
parser = argparse.ArgumentParser(description='Report the performance numbers from log.');
root_group = parser.add_mutually_exclusive_group(required=True);
url_group = root_group.add_argument_group();
url_group.add_argument('-url','--url',required=True,help='URL to get sysmgr.log.');
url_group.add_argument('-u','--user',required=False,default="admin",help='User name.');
url_group.add_argument('-p','--password',default="password",help='Password.');
log_group = root_group.add_argument_group();
log_group.add_argument('-l','--log',help='sysmgr.log file location.');
args = parser.parse_args();
return args;
Traceback (most recent call last):
File "report_time.py",line 76,in <module>
main();
File "report_time.py",line 65,in main
args = cmdline();
File "report_time.py",line 32,in cmdline
args = parser.parse_args();
File "/usr/software/lib/python3.2/argparse.py",line 1697,in parse_args
args,argv = self.parse_kNown_args(args,namespace)
File "/usr/software/lib/python3.2/argparse.py",line 1729,in parse_kNown_args
namespace,args = self._parse_kNown_args(args,line 1935,in _parse_kNown_args
start_index = consume_optional(start_index)
File "/usr/software/lib/python3.2/argparse.py",line 1875,in consume_optional
take_action(action,args,option_string)
File "/usr/software/lib/python3.2/argparse.py",line 1803,in take_action
action(self,namespace,argument_values,line 990,in __call__
parser.print_help()
File "/usr/software/lib/python3.2/argparse.py",line 2341,in print_help
self._print_message(self.format_help(),file)
File "/usr/software/lib/python3.2/argparse.py",line 2315,in format_help
return formatter.format_help()
File "/usr/software/lib/python3.2/argparse.py",line 275,in format_help
help = self._root_section.format_help()
File "/usr/software/lib/python3.2/argparse.py",line 205,in format_help
func(*args)
File "/usr/software/lib/python3.2/argparse.py",line 313,in _format_usage
action_usage = format(optionals + positionals,groups)
File "/usr/software/lib/python3.2/argparse.py",line 384,in _format_actions_usage
start = actions.index(group._group_actions[0])
IndexError: list index out of range
我的错误在哪里?
谢谢, 普拉迪普
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。