gpt4 book ai didi

尝试在新创建的目录中创建文件时转到 "permission denied"?

转载 作者:行者123 更新时间:2023-12-01 19:47:22 32 4
gpt4 key购买 nike

我正在尝试使用 os.Mkdir() 创建一个目录,然后在其中创建文件,类似于这个脚本:

package main

import (
"log"
"os"
"path"
)

func main() {
dir := "test_dir"

os.Mkdir(dir, os.ModeDir)

fileName := path.Join(dir, "file.txt")

_, err := os.Create(fileName)
if err != nil {
log.Fatalf("create file: %v", err)
}
}

但是,如果我运行它,我会得到
> go run fileperms.go
2019/10/15 14:44:02 create file: open test_dir/file.txt: permission denied
exit status 1

我从 https://golang.org/pkg/os/#FileMode 中不清楚如何指定 FileMode 以允许相同的脚本在新创建的目录中创建文件。我怎样才能做到这一点?

最佳答案

我发现如果我将权限设置为 0777 ,我就可以在目录中创建文件:

package main

import (
"io/ioutil"
"os"
"path"
)

func main() {
dir := "test_dir"

os.Mkdir(dir, 0777)

fileName := path.Join(dir, "file.txt")

ioutil.WriteFile(fileName, []byte("foobar"), 0666)
}

现在文件是用预期的内容创建的:
> cat test_dir/file.txt 
foobar⏎

关于尝试在新创建的目录中创建文件时转到 "permission denied"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58403134/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com