如何在 Python 中使用 ruamel.yaml 从 YAML 文件中获取注释?

2023-11-24

我想从使用加载的 YAML 文件中获取注释字符串ruamel.yaml. The 项目文件缺少 API 参考,我找不到相关示例。访问评论的正确方式是什么?

import ruamel.yaml

yaml = """\
%YAML 1.2
---
# C1
a: # C2
  # C3
  # C4
  b: 1 # C5
  c: # A comment here will not be parsed properly by ruamel.yaml v0.11.14
  - abc # C6
  - xyz # C7
  # C8
# C9
"""

loaded = ruamel.yaml.round_trip_load(yaml)

# Now what?

图书馆作者对此发表评论BitBucket 上的一个问题(2016 年 5 月 9 日):

评论保存尚未稳定,例如如果映射的键和值不在同一行并且键(或键和值)有注释,我需要做一些事情。我最初的目标是保留现有的评论,而不是进行太多的操纵。

通过一些实验,我确定了上述问题中提供的示例代码的以下工作:

print('Comment 1: ' + loaded.ca.comment[1][0].value)
print('Comment 2: ' + loaded.ca.items['a'][2].value)
print('Comment 3: ' + loaded.ca.items['a'][3][0].value)
print('Comment 4: ' + loaded.ca.items['a'][3][1].value)
print('Comment 5: ' + loaded['a'].ca.items['b'][2].value)
print('Comment 6: ' + loaded['a']['c'].ca.items[0][0].value)
print('Comment 7: ' + loaded['a']['c'].ca.items[1][0].value)
print('Comment 8: ' + loaded['a']['c'].ca.end[0].value)
print('Comment 9: ' + loaded['a']['c'].ca.end[1].value)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Python 中使用 ruamel.yaml 从 YAML 文件中获取注释? 的相关文章

随机推荐

  • 如何通过 cypress.io 使用 vue.js v-select 查找元素并选择?

    抱歉 我需要有关 cypress io 查找元素 v select 和 select 选项的帮助
  • 根据视差图进行 OpenCv 深度估计

    我正在尝试使用 OpenCV 估计立体图像对的深度 我有视差图 深度估计可以通过以下方式获得 Baseline focal depth disparity SensorSize 我使用块匹配技术在两个校正图像中找到相同的点 OpenCV 允
  • Xamarin iOS 模拟器运行旧代码

    当我从 Visual Studio 调试 Xamarin iOS 项目时 它会在模拟器上构建 安装并启动应用程序 不会出现任何问题 但在启动时 我看到了来自某个方法的大量调试跟踪 而该方法甚至不再存在于我的 C 代码中 我还可以在删除该方法
  • 使用 SAM 创建 API 网关代理资源

    我有一个看似简单的要求 即在 SAM 亚马逊的无服务器应用程序模型 中创建代理资源 事实上非常简单 以至于亚马逊的文档似乎将其保留为exercise致读者 我想创建一个 AWS API Gateway 包罗万象的终端节点来将所有内容代理到另
  • isNew() 如何判断会话是新会话还是已在使用中?

    如何调用isNew 在会话对象上 检查会话是否是新会话或已在使用中 我读到了isNew 如果客户端尚未响应会话 ID 则返回 true 但是这是什么意思 请解释 我读到 如果客户端尚未响应会话 ID 则 isNew 返回 true 但是这是
  • 从 .h5 文件加载权重时出现 Tensorflow 2.0 ValueError

    我有一个VAE架构脚本如下 import numpy as np import tensorflow as tf from tensorflow keras layers import Input Conv2D Flatten Dense
  • 从 Laravel 访问查询字符串值

    有谁知道是否可以在 Laravel 中使用 URL 查询 Example 我有以下路线 Route get text TextController index 该页面上的文本基于以下 url 查询 http example com text
  • 有没有更简单的方法来比较文件版本?

    我编写了一个函数来比较客户端当前拥有的文件版本和服务器上文件的最新版本之间的文件版本 客户端将 quad Major Minor Build Private 版本号作为字符串传递给服务器 然后服务器使用 FileVersionInfo cl
  • 获取某个 UITableViewCell 的屏幕坐标?

    所以 我有这个UITableView 它位于 iPad 应用程序中 有些单元格的右侧有一个附件按钮 小圆形箭头 当按下该按钮时 我会呈现一个弹出视图 用户可以在其中选择与他们触摸的表格单元格相关的操作 到目前为止 这一切都不是困难的或特殊的
  • 如何在不使用 setInterval/timeout 的情况下检查实时更新?

    建立一个社交网络 我正在尝试获取实时通知 目前 站点使用 setInterval 每隔几秒发送一次 AJAX 请求 它看起来像这样 setInterval function url base dir ajax file php data d
  • 如果 CSS3 过渡不存在,使用 Modernizr 和 jQuery 制作动画

    如果不支持 CSS3 有没有办法结合使用 Modernizr 和 jQuery 来启用类似于过渡的功能 我目前正在做的事情是这样的 div class hoverable p This div changes both width and
  • 交互式过渡非线性

    我正在玩自定义和交互式视图控制器转换 UIPercentDrivenInteractiveTransition 我正在构建一个以模式方式呈现卡片 其他视图控制器 的应用程序 我已经进行了自定义转换UIViewControllerAnimat
  • 使用 MySQL 和 PHP 在 HTML 中创建动态表

    我看过很多关于如何使用 PHP 和 MySQL 在 HTML 中构建表的帖子 但我经常在创建表后更改 SQL 列的标题 PHP 有什么方法可以自动更新代码 这样我只需输入表名 它就会打印表 而无需输入所有内容 th tags th
  • 如何通过名称获取控件名称?

    我有一个简单的功能 其中有一个组合框 如果组合框的值等于 禁用 我将禁用文本框 B 有许多组合框及其相应的文本框 B 按行排列并手动命名 如果组合框 A 被命名为Product1 文本框B将被命名Product1 status 我在想这样的
  • 如何在数据库android中存储图像[重复]

    这个问题在这里已经有答案了 我是 android 新手 我正在创建一个联系人管理器 我已经弄清楚如何将 EditText 字段中的值存储到数据库中 但我不知道如何在数据库中存储图像 我想知道是否有人可以帮助我解决这个问题 package a
  • JavaMail BaseEncode64 错误

    我目前正在开发一个从 gmail 帐户下载附件的应用程序 现在 每次下载压缩附件时都会出错 但是 并非全部 有些我可以毫无错误地检索它 这是异常消息 Exception in thread main com sun mail util De
  • 根据键值删除日期早于所需日期点的行

    我有一个 pd dataframe 如下所示 key value date value 01 2017 01 13 value 01 2018 02 17 value 01 2018 04 02 value 01 2018 05 13 va
  • iOS 7 -- navigationController 正在设置我的 UIScrollView 的 contentInset 和 ContentOffset

    我有一个 UIScrollView 实际上是一个 UICollectionView 但这可能并不重要 当它出现在 IOS 7 中时 导航控制器将其 contentInset 和 contentOffset 设置为我不想要的值 它似乎正在尝试
  • Rails 格式验证——字母数字,但不是纯数字

    测试用户名格式验证的最佳方法是什么 使用字母数字的正则表达式 但不是纯数字 我一直在我的模型中使用以下验证 validates username format gt with gt a z0 9 a z0 9 a z0 9 i 数字用户名
  • 如何在 Python 中使用 ruamel.yaml 从 YAML 文件中获取注释?

    我想从使用加载的 YAML 文件中获取注释字符串ruamel yaml The 项目文件缺少 API 参考 我找不到相关示例 访问评论的正确方式是什么 import ruamel yaml yaml YAML 1 2 C1 a C2 C3