Как создать файл с каталогом - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь создать файл с каталогами и подкаталогами. Но Go всегда возвращает ошибку о том, что путь не найден. Я хочу создать файл с каталогами. Я хочу, чтобы каталоги a, b, c создавались (a / b / c), а каталог c должен иметь файл d.txt, который я использовал os.Create и os.OpenFile

_, cerr := os.OpenFile("a/b/c/d.txt")
    if cerr != nil {
        log.Fatal("error creating a/b/c", cerr)
    }

_, cerr := os.Create("a/b/c/d.txt")
    if cerr != nil {
        log.Fatal("error creating a/b/c", cerr)
    }

ошибка пути

1 Ответ

8 голосов
/ 06 ноября 2019

Вы не можете создать все отсутствующие каталоги, а затем файл одним вызовом функции. Вы можете создать все отсутствующие каталоги, а затем файл следующим образом:

_,err:=os.MkdirAll("a/b/c",perm)
f, err:=os.Create("a/b/c/d.txt")

Этого также можно добиться с помощью:

name:="a/b/c/d.txt"
os.MkdirAll(filepath.Dir(name),perm)
f, err:=os.Create(name)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...