code: def open(self, mode='r', encoding=None):
          
          access_type = self._get_access_type(mode)
  
          if access_type == 't' and encoding is not None and encoding != self.encoded_with:
              warnings.warn('Attempting to decode %s as "%s", but encoding is declared as "%s"'
                            % (self, encoding, self.encoded_with))
  
          if encoding is None:
              encoding = self.encoded_with
  
          buffer = io.BytesIO(self._contents)
          if access_type == 'b':
              return buffer
          else:
              return io.TextIOWrapper(buffer, encoding=encoding)
docs: Return file-like object
  
          Args:
              mode (str): access mode (only reading modes are supported)
              encoding (str): text decoding method for text access (default: system default)
  
          Returns:
              io.BytesIO OR io.TextIOWrapper: buffer accessing the file as bytes or characters