Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import argparse as arg
- import inspect
- def sum(num1, num2):
- print(num1)
- print(num2)
- print('SUM:', num1 + num2)
- if __name__ == '__main__':
- parser = arg.ArgumentParser()
- subparsers = parser.add_subparsers(help='sum sub-comand help')
- # SUM
- sum_parser = subparsers.add_parser('sum')
- sum_parser.add_argument('-num1', type=int)
- sum_parser.add_argument('-num2', type=int)
- sum_parser.set_defaults(func=sum)
- args = parser.parse_args()
- arg_spec = inspect.getargspec(args.func)
- if arg_spec.keywords:
- # convert args to a dictionary
- args_for_func = vars(args)
- else:
- # get a subset of the dictionary containing just the arguments of func
- args_for_func = {k:getattr(args, k) for k in arg_spec.args}
- args.func(**args_for_func)
Add Comment
Please, Sign In to add comment