code: def write(self, data, groupname='h5features', append=False):
          
          if append and groupname in self.h5file:
              # append data to the group, raise if we cannot
              group = self.h5file[groupname]
              if not is_same_version(self.version, group):
                  raise IOError(
                      'data is not appendable to the group {}: '
                      'versions are different'.format(group.name))
  
              if not data.is_appendable_to(group):
                  raise IOError(
                      'data is not appendable to the group {}'
                      .format(group.name))
          else:  # overwrite any existing data in group
              group = self._prepare(data, groupname)
  
          data.write_to(group, append)
docs: Write h5features data in a specified group of the file.
  
          :param dict data: A `h5features.Data` instance to be writed on disk.
  
          :param str groupname: Optional. The name of the group in which
              to write the data.
  
          :param bool append: Optional. This parameter has no effect if
             the `groupname` is not an existing group in the file. If
             set to True, try to append new data in the group. If False
             (default) erase all data in the group before writing.
  
          :raise IOError: if append requested but not possible.