from opts import * import argparse parser = argparse.ArgumentParser(prog='ext-open',prefix_chars = '+') for opt in prefix: parser.add_argument(*opt.pop('ostring'),**opt) sub_parsers = parser.add_subparsers() exe_parser = sub_parsers.add_parser('exe',prefix_chars='+') for opt in exe: exe_parser.add_argument(*opt.pop('ostring'),**opt) for ext in exts: sub_parser = sub_parsers.add_parser(ext['ext'],prefix_chars = '+') for opt in ext['opts']+common: opt = opt.copy() sub_parser.add_argument(*opt.pop('ostring'),**opt) if __name__ == '__main__': args = parser.parse_args()