import argparse class BaseParser: def __init__(self, command): self.arg_parser = argparse.ArgumentParser(command, add_help=False) self.subparser = self.arg_parser.add_subparsers(dest='{}_subcommand'.format(command)) self.common_args = {'add_help': False} methods = [attr for attr in dir(self) if not attr.startswith('__') and type(getattr(self, attr)).__name__ == 'method'] for method in methods: getattr(self, method)(**self.common_args)