常规加载YAML文件修改并将其写入文件

sfgroups

我有YMAL文件,使用groovy我想读取和修改一个元素值,然后将其写入另一个文件。

使用此代码,尝试将第一个文件值从TopClass.py修改为changeclass.py。但是它没有改变价值。

import org.yaml.snakeyaml.Yaml

class Test{
    def static main(args){
        Yaml yaml = new Yaml()
        def Map  map = (Map) yaml.load(data)
        println map.Stack.file[0]
        map.Stack.file[0]='changeclass.py'
        println map.Stack.file[0]
    }

def static String data="""
Date: 2001-11-23 15:03:17 -5
User: ed
Fatal:
  Unknown variable "bar"
Stack:
  - file: TopClass.py
    line: 23
    code: |
      x = MoreObject("345\\n")
  - file: MoreClass.py
    line: 58
    code: |-
      foo = bar
"""

是否有示例常规代码来读取YAML文件并将其修改并将其写入文件?

谢谢SR

桑迪普po

代码的问题是您试图以列表形式访问Map.Entry对象'file'此处,'Stack'yaml数据中元素是一个包含两个Maps的列表。因此,修改值的正确方法是:

map.Stack[0].file = 'changeclass.py'

要将更改数据保存回文件,请使用dump()方法。例如:

DumperOptions options = new DumperOptions()
options.setPrettyFlow(true)
options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK)
yaml = new Yaml(options)
yaml.dump(map, new FileWriter(<filePath>))

在您的情况下,输出为:

Date: 2001-11-23T20:03:17Z
User: ed
Fatal: Unknown variable "bar"
Stack:
- file: changeclass.py
  line: 23
  code: |
    x = MoreObject("345\n")
- file: MoreClass.py
  line: 58
  code: foo = bar

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何附加wstring并将其写入文件

来自分类Dev

检索数据并将其写入文件c ++

来自分类Dev

grep 日志文件并将其写入 csv 文件

来自分类Dev

如何读取文件,并将其写入不同的文件

来自分类Dev

尝试使用NPOI创建新的.xlsx文件并将其写入

来自分类Dev

从文本文件读取并将其写入XML

来自分类Dev

如何读取PNG文件并将其写入数据库?

来自分类Dev

Android在/ data / local /中创建文件并将其写入

来自分类Dev

刮取输出并将其写入文本文件

来自分类Dev

加扰ASCII字符并将其写入文件(Java)

来自分类Dev

如何阅读用户输入并将其写入.txt。文件?

来自分类Dev

Python不断写入新数据并将其保存到文件

来自分类Dev

使用Python处理大数并将其写入文件

来自分类Dev

可互换的模拟数据并将其写入文件

来自分类Dev

从mysql获取n个随机行并将其写入文件

来自分类Dev

计数到100,000并将其写入文件

来自分类Dev

将许多TextBox中的数字求和并将其写入文件

来自分类Dev

如何获取错误和异常,并将其写入日志文件?

来自分类Dev

如何扫描字符串并将其写入文件?

来自分类Dev

如何捕获 GTK 窗口并将其写入 PNG 文件?

来自分类Dev

如何从串口读取数据并将其写入文件

来自分类Dev

从用户获取输入并将其写入文本文件

来自分类Dev

树枝从Yaml文件写入

来自分类Dev

如何保存QJsonDocument并将其加载到文件?

来自分类Dev

映射10 GB的文件并将其加载到内存中

来自分类Dev

保存QList <Class *>并将其加载到文件

来自分类Dev

从SD卡读取文件并将其加载到WebView

来自分类Dev

从json文件swift加载NSURL并将其链接到imageView

来自分类Dev

加载JSON文件并将其附加到地图

Related 相关文章

热门标签

归档