【问题标题】:Removing key value pairs from a config file?从配置文件中删除键值对?
【发布时间】:2023-04-06 08:54:01
【问题描述】:

我有一个包含大量信息的配置文件,但最后它包含多个键值对。其实形式是

item=a
item=b
item=c

我正在尝试找到使用 go 删除这些键值对的最佳方法,有没有人有一个很好的例子。

我查看了它,发现我可以读取一个文件并将其输出到另一个文件,但不确定是否可以对同一个文件执行此操作。

我还注意到您可以打开 for for append 这可以满足我的需要。

该过程将是 - 如上所述删除所有键值对

然后我需要添加一个新的键值对列表

例如,我可以像这样附加到文件中

 f, err := os.OpenFile("myconfig.conf", os.O_APPEND|os.O_WRONLY,

这将允许我将新项目(追加)推送到文件中,但我认为这并不能解决删除项目的问题。

【问题讨论】:

标签: go


【解决方案1】:
    file , _ := os.OpenFile("test", os.O_RDWR| os.O_CREATE, 0777)
    buf, _ := ioutil.ReadAll(file)
    fmt.Printf("your old data:%s", string(buf))
    file.Truncate(0)
    file.Seek(0, os.SEEK_SET)
    file.Write([]byte("your new data"));

【讨论】:

  • 这将替换整个文件而不是更改条目
  • 截断将从文件中删除所有数据。比你要从头开始重写它
  • 怎么办?@alessiosavi
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-26
  • 2014-08-18
相关资源
最近更新 更多