【问题标题】:Changing a value in a yaml file using Python使用 Python 更改 yaml 文件中的值
【发布时间】:2023-04-07 02:26:02
【问题描述】:

我有一个要使用 Python 代码更新的 .yaml 文件。
假设它看起来像这样:

  state: 'present'

我想要一个更改状态并保存文件的代码。
我正在尝试这样的事情并失败了:

def set_state(state):
    with open("file_to_edit.yaml", 'rw') as f:
        doc = yaml.load(f)
    doc['state'] = state
    yaml.dump(f)

我正在使用 Python 的“yaml”包。

【问题讨论】:

  • 您是否遇到某种错误?
  • 不,它只是没有改变任何东西
  • 由于某种原因,它似乎没有写入文件
  • 所以(为了清楚起见)如果您在更改后打印状态,您会看到它已应用 - 但它不会保存回文件?不确定我的 Python 技能:您的行 yaml.dump(f)with .. as f: 范围之外访问 f 不是问题吗?
  • 您的评论很有道理,所以我试了一下,但这看起来还是不行。文件仍未写入

标签:
python
yaml
pyyaml