您使用哪种输出格式来格式化带有注释和词典的Yaml文件,以获取多种不同格式

问题描述

我在查找有关如何格式化所需格式的信息时遇到问题,以便保存具有这种类型和格式的文件数据。在其中以及字典中使用注释。

我没有使用pyYaml,只是标准的yaml导入。

#Frequency of updates in seconds ********LIVE-UPDATEABLE********
interval: 30

#Trading Dilution coins only
dilution_only: yes
#What coins do you want to Trade with? ALL,Dilution,or Whitelist is EXAMPLE: ETH,XTZ,XLM
#coins_Trading: ETH,ICX,LTC,MCO,ALGO,THETA,ETC,ENJ,XLM,PPT,BAND
coins_Trading: All

以上是我要输出到Yaml的内容。我以这种方式阅读此Yaml,并且我对某些值进行了一些更改,然后计划将整个文件转储回yaml。

除非有人知道仅更改yaml中键的值的方法。那将是理想的。 如果我可以更改时间间隔:20或其他之一。我还没有找到一种方法方法

解决方法

研究了如何格式化后,我发现Yaml不支持带注释的行,并且它不保留任何结构,因为它的功能像字典一样。因此,线没有顺序。这变得完全不同。

虽然我找不到格式,但更新特定值就像其他任何事情一样。

import yaml
with open('file1','rU') as f:
    data = yaml.load(f)
data['devices'] = updated_data
with open('file1','w') as f:
    yaml.dump(data,f)

这将允许您更改值并写回yaml。该文件不会以任何特定的顺序返回,并且如果最初有任何注释,它们将不再在那里。