code: def open(self, mode='r', buffering=-1, encoding=None,
               errors=None, newline=None):
          
          if self._closed:
              self._raise_closed()
          return FakeFileOpen(self.filesystem, use_io=True)(
              self._path(), mode, buffering, encoding, errors, newline)
docs: Open the file pointed by this path and return a fake file object.
  
          Raises:
              IOError: if the target object is a directory, the path is invalid
                  or permission is denied.