code: def extract_zip(zip_name, exclude_term=None):
      
  
      zip_dir = os.path.dirname(os.path.abspath(zip_name))
  
      try:
          with zipfile.ZipFile(zip_name) as z:
  
              # write each zipped file out if it isn't a directory
              files = [zip_file for zip_file in z.namelist() if not zip_file.endswith('/')]
  
              print('Extracting %i files from %r.' % (len(files), zip_name))
              for zip_file in files:
  
                  # remove any provided extra directory term from zip file
                  if exclude_term:
                      dest_file = zip_file.replace(exclude_term, '')
                  else:
                      dest_file = zip_file
  
                  dest_file = os.path.normpath(os.path.join(zip_dir, dest_file))
                  dest_dir = os.path.dirname(dest_file)
  
                  # make directory if it does not exist
                  if not os.path.isdir(dest_dir):
                      os.makedirs(dest_dir)
  
                  # read file from zip, then write to new directory
                  data = z.read(zip_file)
                  with open(dest_file, 'wb') as f:
                      f.write(encode_utf8(data))
  
      except zipfile.error as e:
          print("Bad zipfile (%r): %s" % (zip_name, e))
          raise e
docs: Extracts a zip file to its containing directory.