docs: def open(self):
          """
          Open the data file.
          """
  
          if not os.path.exists(self.path):
              raise IOError("No such path: {0}".format(self.path))
  
  
          with open(self.path, "rb") as f:
              msg = f.read()
          result = chardet.detect(msg)
  
          self.buffer = codecs.open(self.path, "rb", encoding=result['encoding'])
  
          self.at_eof = False