python yaml.dump 错误缩进

2024-03-02

我正在执行以下 python 代码:

import yaml


foo = {
    'name': 'foo',
    'my_list': [{'foo': 'test', 'bar': 'test2'}, {'foo': 'test3', 'bar': 'test4'}],
    'hello': 'world'
}

print(yaml.dump(foo, default_flow_style=False))

但正在打印:

hello: world
my_list:
- bar: test2
  foo: test
- bar: test4
  foo: test3
name: foo

代替:

hello: world
my_list:
  - bar: test2
    foo: test
  - bar: test4
    foo: test3
name: foo

我怎样才能缩进my_list元素就这样?


这张票 https://web.archive.org/web/20170903201521/https://pyyaml.org/ticket/64建议当前的实现正确遵循the spec http://yaml.org/spec/1.2/spec.html#id2777534:

这 ”-”, ”?”用于表示块集合条目的“:”字符被人们认为是缩进的一部分。这是由相关制作部门根据具体情况进行处理。

在同一个线程上,还有这段代码片段 https://web.archive.org/web/20170903201521/https://pyyaml.org/ticket/64#comment:5(修改以适合您的示例)以获得您正在寻找的行为:

import yaml

class MyDumper(yaml.Dumper):

    def increase_indent(self, flow=False, indentless=False):
        return super(MyDumper, self).increase_indent(flow, False)

foo = {
    'name': 'foo',
    'my_list': [
        {'foo': 'test', 'bar': 'test2'},
        {'foo': 'test3', 'bar': 'test4'}],
    'hello': 'world',
}

print yaml.dump(foo, Dumper=MyDumper, default_flow_style=False)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python yaml.dump 错误缩进 的相关文章

  • AttributeError:'function'对象在pandas中没有属性'bar'

    我有一个 pandas 数据框 它是 pandas 数据框类型 如下所示 type df Out 176 pandas core frame DataFrame 但是 当我尝试在此数据框上使用任何绘图函数 如条形图 时 会出现如下错误 df
  • 分配列表的多个值

    我很想知道是否有一种 Pythonic 方式将列表中的值分配给元素 为了更清楚 我要求这样的事情 myList 3 5 7 2 a b c d something myList So that a 3 b 5 c 7 d 2 我正在寻找比手
  • 如何在 QTableView 标题中单击鼠标右键单击上下文菜单?

    下面的示例代码 很大程度上受到here http www saltycrane com blog 2007 12 pyqt 43 qtableview qabstracttablemodel 有一个右键单击上下文菜单 当用户单击表中的单元格
  • minAreaRect OpenCV 返回的裁剪矩形 [Python]

    minAreaRectOpenCV 中返回一个旋转的矩形 如何裁剪矩形内图像的这部分 boxPoints返回旋转矩形的角点的坐标 以便可以通过循环框内的点来访问像素 但是在 Python 中是否有更快的裁剪方法 EDIT See code在
  • 如何使用我自己的自定义表单覆盖 django-rest-auth 中的表单?

    我正在使用 django rest auth 并尝试通过覆盖表单的方法之一来修复密码重置视图中的错误 尽管我已经使用不同的 django rest auth 表单成功完成了类似的操作 但我无法让它在这个表单上工作 无论我做什么 都会使用旧的
  • 如何在seaborn热图标签中使用科学计数法?

    我正在尝试在 python 中使用seaborn 获取热图 不幸的是 即使数字非常大 它也没有使用科学记数法 我想知道是否有任何简单的方法可以转换为科学记数法或任何其他合理的格式 这是显示问题的一段代码 import seaborn as
  • 如何将 numpy rearray 的子集转换为连续数组?

    我有一个recarray来自读取 csv 文件 我有兴趣将列的子集转换为连续浮点数组 我想避免将它们转换为列表或将它们一一堆叠 我尝试了中的建议https stackoverflow com a 11792956 https stackov
  • 样本()和r样本()有什么区别?

    当我从 PyTorch 中的发行版中采样时 两者sample and rsample似乎给出了类似的结果 import torch seaborn as sns x torch distributions Normal torch tens
  • 使用 FoldLine 解析多个块

    对于这个简化的问题 我试图解析一个如下所示的输入 foo bar baz quux woo hoo xyzzy glulx into foo bar baz quux woo hoo xyzzy glulx 我尝试过的代码如下 import
  • Bokeh 中单独的节点和边缘悬停工具?

    我正在尝试为 Bokeh 中的节点和边缘获取单独的悬停工具提示 但未能使其正常工作 有人可以指出我做错了什么吗 我相信代码应该如下所示 from bokeh io import show output notebook from bokeh
  • 一个类似 dict 的 Python 类

    我想编写一个自定义类 其行为类似于dict 所以 我继承自dict 不过 我的问题是 我是否需要创建一个私有的dict我的成员 init 方法 我不明白这个有什么意义 因为我已经有了dict如果我只是继承自的行为dict 谁能指出为什么大多
  • Django 1.7 应用程序配置导入错误:没有名为 appname.apps 的模块

    我正在尝试按照以下文档为我的一个名为 文章 的 Django 应用程序设置自定义应用程序配置https docs djangoproject com en dev ref applications https docs djangoproj
  • 使用 Windows 任务计划程序安排 [Virtualenv 相关] Python 脚本

    I want to schedule a python script to start at 3AM and break at 5PM every weekday However the problem arises when I need
  • django 中的身份验证方法返回 None

    你好 我在 django 中做了一个简单的注册和登录页面 当想要登录时 登录视图中的身份验证方法不返回任何内容 我的身份验证应用程序 模型 py from django db import models from django contri
  • 预测测试图像时出现错误 - 无法重塑大小数组

    我正在尝试使用 TensorFlow 和 Keras 在 Python 中进行图像识别 并且我已经关注了下面的博客 https stackabuse com image recognition in python with tensorfl
  • 如何处理 Tkinter 中的窗口关闭事件?

    如何在 Python Tkinter 程序中处理窗口关闭事件 用户单击 X 按钮 Tkinter 支持一种称为协议处理程序 http web archive org web 20201111215134 http effbot org tk
  • 更新 matplotlib 中颜色条的范围

    我想更新一个contourf在函数内绘制 效果很好 然而 数据的范围发生了变化 因此我还必须更新颜色条 这就是我未能做到的地方 请参阅以下最小工作示例 import matplotlib pyplot as plt import numpy
  • 有没有办法拉伸整个显示图像以适应给定的分辨率?

    我最近一直在使用pygame制作游戏 遇到了一个小问题 基本上 我希望能够将屏幕上的整个图像 我已经传输到它的所有内容 拉伸到用户将窗口大小调整到的分辨率 我在 pygame 和堆栈溢出的文档中搜索了很多 但我似乎找不到答案 这可能吗 我的
  • 如何在supervisord中设置组?

    因此 我正在设置 Supervisord 并尝试控制多个进程 并且一切正常 现在我想设置一个组 以便我可以启动 停止不同的进程集 而不是全部或全无 这是我的配置文件的片段 group tapjoy programs tapjoy game1
  • 防止 Ada DLL 中的名称损坏

    有没有一种简单的方法可以防止在创建 Ada DLL 时 Ada 名称被破坏 这是我的 adb 代码 with Ada Text IO package body testDLL is procedure Print Call is begin

随机推荐

  • 返回选定的指定列

    我想从某个 Blob 表中仅选择几列 我有以下字段 Id RowVersion Size Signature Blob 我只想选择前四个 我这样做 gt 是一个错误的地方 public List
  • 从 http 而不是 https 加载图像时出现 403 错误

    我的问题类似于this one https stackoverflow com questions 22958559 403 when trying to download a remote image 但我只使用 html 和 javas
  • 打乱 SSE 寄存器中的偶数和奇数值

    我用 16 位值加载两个 SSE 128 位寄存器 这些值按以下顺序排列 src 0 E 3 O 3 E 2 O 2 E 1 O 1 E 0 O 0 src 1 E 7 O 7 E 6 O 6 E 5 O 5 E 4 O 4 我想要实现的是
  • 如何从 Xcode 的代码补全中排除某些术语? (自动完成、内容辅助)

    众所周知 Xcode 的代码补全功能非常棒 同时也是必要的 但有时它也可能很烦人 有什么方法可以修改可能的完成结果列表吗 例如 我一直在使用 CGSizeMake 但从来不想使用首先建议的 CGSizeMakeWithDictionaryR
  • 应按什么顺序释放 COM 对象和垃圾收集?

    关于释放 COM 对象和垃圾收集 有很多问题 但我找不到专门解决这个问题的东西 当释放 COM 对象 在本例中具体为 Excel Interop 时 我应该按什么顺序释放引用并调用垃圾回收 在某些地方 例如here https stacko
  • 如何将 jquery ui 可拖动可排序内容与自定义比例代码结合起来?

    我正在尝试将我的可拖动可排序内容与一些适合我的比例代码结合起来 我只是还没找到好的解决方案 看看那个 http jsfiddle net UXLAE 7 http jsfiddle net UXLAE 7 我已经注释掉了比例代码 以便您可以
  • Minio:存储桶策略与匿名/授权访问有何关系?

    Minio 有以下政策 每个桶 https github com minio minio java blob 6a4cf897df8c55cf4b46ed32617bf8bf41efe53c api src main java io min
  • 保存已创建的实时照片

    我有一些创建了 JPEG 和 MOV 文件的实时照片 现在我想将它们导入到应用程序中 该应用程序将允许用户将实时照片保存到他们的照片库中 我该怎么做呢 我调查过这个 https github com genadyo LivePhotoDem
  • 在 .NET 中使用线程本地存储的最佳实践是什么?

    我的应用程序中有一个要求 我认为可以通过使用线程本地存储来满足 但我想知道这是否是最好避免的事情之一 我读过一些关于这个主题的文章 http www dotnetcoders com web Articles ShowArticle asp
  • 在散景中动态添加小部件

    我想在散景中动态添加滤镜 即每次按下按钮时 都会附加一个新的滤镜 然而 添加新的小部件后 布局会被破坏 新的小部件会覆盖旧的小部件 而不是重新计算布局 代码示例 from bokeh layouts import row column fr
  • Unix:cat-ing 文件自身 - 为什么这会清空文件? [复制]

    这个问题在这里已经有答案了 有人可以向我解释一下为什么这段代码有效吗 即 file2 txt 是 file1 txt 按字母顺序排序的内容 cat file1 txt sort gt file2 txt 但是当我这样做时 file1 txt
  • Emacs .dir-locals.el - 设置键绑定

    我不确定这是否可行 但我想通过使用设置一些项目特定的键绑定 dir locals el 当然 dir locals el必须包含一个特殊的设置列表 所以我不能这样做 global set key 24 down move text down
  • 用平均值替换缺失值 - Spark Dataframe

    我有一个 Spark Dataframe 其中缺少一些值 我想通过用该列的平均值替换缺失值来执行简单的插补 我对 Spark 很陌生 所以我一直在努力实现这个逻辑 到目前为止 这是我设法做到的 a 要对单个列 假设是 A 列 执行此操作 这
  • 选择 ListboxItem 而不是 Index(突出显示,因为我会单击它)

    关于我的项目 我想通过索引突出显示搜索功能列表框项目 当前阶段 private void Menu Search Click object sender RoutedEventArgs e search person Interaction
  • ANSI C 中的超便携、小型复杂配置文件库?

    我正在寻找一个非常可移植 简约 小型的 ANSI C 语言库 没有外部依赖项 或很少 编译后大小小于 100K 我需要它来创建一个中等复杂的配置文件 并且它必须支持 Unicode 还有一些要求 可以使用 嵌入 静态链接到专有代码 在应得的
  • 过滤掉特定条件之前的行

    我有以下数据集 ID lt rep c A B times c 3 4 Departure lt c TRUE FALSE TRUE TRUE FALSE FALSE TRUE Date lt c Jan 1 Jan 2 Jan 3 Jan
  • 如何在 GNU Emacs 中逐行滚动?

    To put it simply I m trying to get scrolling in emacs like in vim and most other editors when I m for example two lines
  • FabricJS 文本框 - 某些字体的光标位置设置不正确

    在上图中 光标应该位于末尾 但由于某种原因 它被放置在最后一个字符之前 这只发生在某些字体上 我认为这与自定义字体的加载方式无关 该图像取自http fabricjs com loadfonts http fabricjs com load
  • 聚类和贝叶斯分类器 Matlab

    因此 我正处于下一步该做什么的十字路口 我开始学习一些机器学习算法并将其应用于复杂的数据集 现在我已经做到了 我从一开始的计划就是结合两种可能的分类器 试图建立一个多分类系统 但这就是我被困住的地方 我选择聚类算法 模糊 C 均值 在学习了
  • python yaml.dump 错误缩进

    我正在执行以下 python 代码 import yaml foo name foo my list foo test bar test2 foo test3 bar test4 hello world print yaml dump fo