code: def parse_args(args=sys.argv[1:]):
      
      parser = argparse.ArgumentParser()
      parser.add_argument('-a', '--address', help='address to listen on, default localhost',
                                  default='localhost')
      parser.add_argument('-p', '--port', help='port to listen on, default 1234',
                                  default=1234, type=int)
      parser.add_argument('-d', '--directory', help='directory to serve, default .',
                                  default='.')
      parser.add_argument('-n', '--noindex', help='do not show directory indexes',
                                  default=False, action='store_true')
      loglevel = parser.add_mutually_exclusive_group()
      loglevel.add_argument('-v', '--verbose', help='verbose logging',
                                  default=False, action='store_true')
      loglevel.add_argument('-q', '--quiet', help='quiet logging',
                                  default=False, action='store_true')
      return parser.parse_args(args)
docs: Parse command line arguments for Grole server running as static file server