go - Go Lang ioutil.writeFile 函数使目录和文件只读
问题描述
我创建了一个 go 程序来跟踪根路径下的所有文件,并在将更新的内容写入现有文件之后用目标字符串替换特定的源字符串,为此,我使用了 filepath.Walk 函数来跟踪文件和 ioutil.ReadFile 和 ioutil.WriteFile 读取和写入文件。所以,问题在于ioutil.WriteFile函数将根目录、子目录和文件标记为只读。我在网上查了这个解决方案,但找不到任何合适的东西。下面是相同的代码片段。
if strings.Contains(data, sourceString) {
data = strings.ReplaceAll(data, sourceString, targetStringArray[index])
ioutil.WriteFile(path, []byte(data), os.FileMode(0655))
}
解决方案
文件模式 0655 被转换为权限 rw-rx rx。这种权限组合很奇怪,因为所有者没有“x”,但组和其他人有。也许您想要的是 0755 (rwx rx rx) 用于可执行文件或 0644 (rw- r-- r--) 用于不可执行文件,这是最常用的文件。
推荐阅读
- azure - Azure 数据工厂警报给出错误的 UTC 日期
- html - 如何在 Typo3 10.4 中使用打字稿将 felogin 渲染为模板中某个位置的内容元素
- java - 来自Java的新意图的pushRoute不起作用
- java - 以下代码的时间复杂度是多少?你是怎么推导出来的?
- python - 使用python查找依赖系数
- reactjs - npm i react-push-notification npm ERR
- r - 如何更改直方图的 y 轴,使其成为 r 中的密度函数?
- c# - WebClient.DownloadString(),带有 ./ 的 URL
- react-native - 替代谷歌地方自动完成反应原生项目?
- python - 通过 2 个组合组合框提取数据库字段。提取函数中的问题