code: def _assert_path_is_rw(self):
          
          if not self.path:
              raise ValueError("`path` argument must be set!")
  
          if not os.path.exists(self.path):
              raise IOError("`%s` not found." % self.path)
  
          if not os.path.isdir(self.path):
              raise IOError("`%s` is not a directory!" % self.path)
  
          if not os.access(self.path, (os.R_OK or os.W_OK)):
              raise IOError(
                  "Can't access `%s`, please check permissions." % self.path
              )
docs: Make sure, that `self.path` exists, is directory a readable/writeable.
  
          Raises:
              IOError: In case that any of the assumptions failed.
              ValueError: In case that `self.path` is not set.