code: def get_args():
      
      expected = ['working_directory', 'operating_system', 'version']
      possible = ['json'].extend(expected)
      try:
          opts, args = getopt.getopt(sys.argv[1:], '', map(lambda x: ('%s=' % x),
                                     possible))
      except getopt.GetoptError as err:
          print(str(err))
          exit_cleanly(error_number=errno.EINVAL)
      arguments = dict()
      for o, a in opts:
          option = re.sub('^-*', '', o)
          if 'json' in option:
              arguments = _load_json(a)
              break
          if option in expected:
              arguments[option] = a
      error = 0
      for item in expected:
          if item not in arguments:
              print("Missing: %s from arguments" % item)
              error = errno.EINVAL
      if error:
          exit_cleanly(error_number=error)
      return arguments
docs: get_args
  
  This function extracts the script arguments within the arguments variable and
  interprets their meaning before returning such content.