code: def WriteFileHeader(self, arcname=None, compress_type=None, st=None):
      
  
      if not self._stream:
        raise ArchiveAlreadyClosedError(
            "Attempting to write to a ZIP archive that was already closed.")
  
      self.cur_zinfo = self._GenerateZipInfo(
          arcname=arcname, compress_type=compress_type, st=st)
      self.cur_file_size = 0
      self.cur_compress_size = 0
  
      if self.cur_zinfo.compress_type == zipfile.ZIP_DEFLATED:
        self.cur_cmpr = zlib.compressobj(zlib.Z_DEFAULT_COMPRESSION,
                                         zlib.DEFLATED, -15)
      else:
        self.cur_cmpr = None
  
      self.cur_crc = 0
  
      if not self._stream:
        raise ArchiveAlreadyClosedError(
            "Attempting to write to a ZIP archive that was already closed.")
  
      self.cur_zinfo.header_offset = self._stream.tell()
      # Call _writeCheck(self.cur_zinfo) to do sanity checking on zinfo structure
      # that we've constructed.
      self._zip_fd._writecheck(self.cur_zinfo)  # pylint: disable=protected-access
      # Mark ZipFile as dirty. We have to keep self._zip_fd's internal state
      # coherent so that it behaves correctly when close() is called.
      self._zip_fd._didModify = True  # pylint: disable=protected-access
  
      # Write FileHeader now. It's incomplete, but CRC and uncompressed/compressed
      # sized will be written later in data descriptor.
      self._stream.write(self.cur_zinfo.FileHeader())
  
      return self._stream.GetValueAndReset()
docs: Writes a file header.