'Initializes a Disk object.
Args:
filenames: List of list of filenames.
numdim_list: List of integers that represent the dimensionality of the
data.
total_size: Number of data points in the dataset (sum over all files).
verbose: If True, will print out details of what is happening.'

def __init__(self, filenames, numdim_list, total_size, keys=[], verbose=False, **kwargs):

    assert (len(filenames) == len(numdim_list))
    self.num_data = len(filenames)
    self.numdim_list = numdim_list
    self.filenames = filenames
    self._num_file_list = [len(filename_list) for filename_list in filenames]
    self._maxpos = total_size
    self.verbose = verbose
    self.left_overs = ([None] * self.num_data)
    self.last_read_chunk = ([None] * self.num_data)
    self.last_read_file = ([(-1)] * self.num_data)
    self.data = ([None] * self.num_data)
    if keys:
        self.keys = keys
    else:
        self.keys = ([None] * self.num_data)
