docs: def _open(self, file, mode_int, closefd):
          """Call the appropriate sf_open*() function from libsndfile."""
          if isinstance(file, (_unicode, bytes)):
              if _os.path.isfile(file):
                  if 'x' in self.mode:
                      raise OSError("File exists: {0!r}".format(self.name))
                  elif set(self.mode).issuperset('w+'):
                      # truncate the file, because SFM_RDWR doesn't:
                      _os.close(_os.open(file, _os.O_WRONLY | _os.O_TRUNC))
              openfunction = _snd.sf_open
              if isinstance(file, _unicode):
                  if _sys.platform == 'win32':
                      openfunction = _snd.sf_wchar_open
                  else:
                      file = file.encode(_sys.getfilesystemencoding())
              file_ptr = openfunction(file, mode_int, self._info)
          elif isinstance(file, int):
              file_ptr = _snd.sf_open_fd(file, mode_int, self._info, closefd)
          elif _has_virtual_io_attrs(file, mode_int):
              file_ptr = _snd.sf_open_virtual(self._init_virtual_io(file),
                                              mode_int, self._info, _ffi.NULL)
          else:
              raise TypeError("Invalid file: {0!r}".format(self.name))
          _error_check(_snd.sf_error(file_ptr),
                       "Error opening {0!r}: ".format(self.name))
          if mode_int == _snd.SFM_WRITE:
              # Due to a bug in libsndfile version <= 1.0.25, frames != 0
              # when opening a named pipe in SFM_WRITE mode.
              # See http://github.com/erikd/libsndfile/issues/77.
              self._info.frames = 0
              # This is not necessary for "normal" files (because
              # frames == 0 in this case), but it doesn't hurt, either.
          return file_ptr