Мне бы хотелось func FolderExists(path string) bool
, который сообщит, существует ли папка и доступен для записи. Я получил здесь:Как определить, существует ли папка и доступна ли запись?
func FolderExists(path string) bool {
info, err := os.Stat(path)
return os.IsExist(err) && info.Mode().IsDir() && info.Mode().???
}
Как узнать, доступна ли эта папка? Я не могу просто проверить разрешения файлов (например, 0200 для разрешения на запись пользователя), потому что тогда мне нужно будет проверить владельца файла. Есть ли простой способ сделать это в Go?
Для тех, кто с UNIX фоны, ищет эквивалент очень просто:
if [ -d "$n" && -w "$n" ] ; then ... fi
такого рода вещи могут быть сложными; наиболее надежное решение также является самым тупым: попробуйте записать в каталог - если это не так, предположите, что он не доступен для записи. – thwd
Чтобы изменить файловую систему, чтобы проверить разрешения, мне кажется, что это недосмотр. – Ana