Guest User

Untitled

a guest
Jun 20th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. import argparse
  2. import sys
  3.  
  4.  
  5. def greet(args):
  6. output = '{0}, {1}!'.format(args.greeting, args.name)
  7. if args.caps:
  8. output = output.upper()
  9. print(output)
  10.  
  11.  
  12. def main_parser():
  13. parser = argparse.ArgumentParser()
  14. subparsers = parser.add_subparsers()
  15.  
  16. hello_parser(subparsers)
  17. goodbye_parser(subparsers)
  18.  
  19. if len(sys.argv) == 1:
  20. parser.print_help()
  21. sys.exit(1)
  22. else:
  23. args = parser.parse_args()
  24. args.func(args)
  25.  
  26.  
  27. def hello_parser(subparsers):
  28. p = subparsers.add_parser('hello')
  29.  
  30. p.add_argument(
  31. 'name',
  32. help='name of the person to greet')
  33.  
  34. p.add_argument(
  35. '--greeting',
  36. default='Hello',
  37. help='word to use for the greeting')
  38.  
  39. p.add_argument(
  40. '--caps',
  41. action='store_true',
  42. help='uppercase the output')
  43.  
  44. p.set_defaults(func=greet)
  45. return p
  46.  
  47.  
  48. def goodbye_parser(subparsers):
  49. p = subparsers.add_parser('goodbye')
  50.  
  51. p.add_argument(
  52. dest='name',
  53. help='name of the person to greet')
  54.  
  55. p.add_argument(
  56. dest='--greeting',
  57. default='Hello',
  58. help='word to use for the greeting')
  59.  
  60. p.add_argument(
  61. dest='--caps',
  62. action='store_true',
  63. help='uppercase the output')
  64.  
  65. p.set_defaults(func=greet)
  66. return p
  67.  
  68.  
  69. if __name__ == '__main__':
  70. main_parser()
Add Comment
Please, Sign In to add comment