Guest User

Untitled

a guest
Oct 19th, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.79 KB | None | 0 0
  1. import argparse as arg
  2. import inspect
  3.  
  4.  
  5. def sum(num1, num2):
  6. print(num1)
  7. print(num2)
  8. print('SUM:', num1 + num2)
  9.  
  10.  
  11. if __name__ == '__main__':
  12.  
  13. parser = arg.ArgumentParser()
  14. subparsers = parser.add_subparsers(help='sum sub-comand help')
  15.  
  16. # SUM
  17. sum_parser = subparsers.add_parser('sum')
  18. sum_parser.add_argument('-num1', type=int)
  19. sum_parser.add_argument('-num2', type=int)
  20. sum_parser.set_defaults(func=sum)
  21.  
  22. args = parser.parse_args()
  23. arg_spec = inspect.getargspec(args.func)
  24. if arg_spec.keywords:
  25. # convert args to a dictionary
  26. args_for_func = vars(args)
  27. else:
  28. # get a subset of the dictionary containing just the arguments of func
  29. args_for_func = {k:getattr(args, k) for k in arg_spec.args}
  30.  
  31. args.func(**args_for_func)
Add Comment
Please, Sign In to add comment