code: def load(dirname):
      
      if not os.path.exists(dirname):
          raise AttributeError('No txt database named %s' % dirname)
  
      db = Database(dirname, dbmode='a')
      chain_folders = [os.path.join(dirname, c) for c in db.get_chains()]
      db.chains = len(chain_folders)
  
      data = {}
      for chain, folder in enumerate(chain_folders):
          files = os.listdir(folder)
          funnames = funname(files)
          db.trace_names.append(funnames)
          for file in files:
              name = funname(file)
              if name not in data:
                  data[
                      name] = {
                  }  # This could be simplified using "collections.defaultdict(dict)". New in Python 2.5
              # Read the shape information
              with open(os.path.join(folder, file)) as f:
                  f.readline()
                  shape = eval(f.readline()[16:])
                  data[
                      name][
                          chain] = np.loadtxt(
                              os.path.join(
                                  folder,
                                  file),
                              delimiter=',').reshape(
                                  shape)
                  f.close()
  
      # Create the Traces.
      for name, values in six.iteritems(data):
          db._traces[name] = Trace(name=name, value=values, db=db)
          setattr(db, name, db._traces[name])
  
      # Load the state.
      statefile = os.path.join(dirname, 'state.txt')
      if os.path.exists(statefile):
          with open(statefile, 'r') as f:
              db._state_ = eval(f.read())
      else:
          db._state_ = {}
  
      return db
docs: Create a Database instance from the data stored in the directory.