PyYAML 错误:无法确定标签“!vault”的构造函数

2023-12-19

我正在尝试读取具有标签的 YAML 文件!vault在里面。我收到错误:

无法确定标签“!vault”的构造函数

在阅读了几篇博客后,我了解到我需要指定一些构造函数来解决此问题,但我不清楚如何做到这一点。

import yaml
from yaml.loader import SafeLoader
    
with open('test.yml' ) as stream:
    try:
        inventory_info = yaml.safe_load(stream)
    except yaml.YAMLError as exc:
        print(exc)

User = inventory_info['all']['children']['linux']['vars']['user']
key = inventory_info['all']['children']['linux']['vars']['key_file']

我正在使用的 YAML 文件:

all:
  children:
    rhel:
      hosts: 172.18.144.98
    centos:
      hosts: 172.18.144.98  
    linux:
      children:
        rhel:
        centos:
      vars:
        user: "o9ansibleuser"
        key_file: "test.pem"
        ansible_password: !vault |
          $ANSIBLE_VAULT;2.1;AES256
          3234567899353936376166353

要么使用from_yaml实用功能:

from ansible.parsing.utils.yaml import from_yaml

# inventory_info = yaml.safe_load(stream)  # Change this
inventory_info = from_yaml(stream)         # to this

或者将构造函数添加到yaml.SafeLoader:

from ansible.parsing.yaml.objects import AnsibleVaultEncryptedUnicode


def construct_vault_encrypted_unicode(loader, node):
    value = loader.construct_scalar(node)
    return AnsibleVaultEncryptedUnicode(value)


yaml.SafeLoader.add_constructor(u'!vault', construct_vault_encrypted_unicode)


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

PyYAML 错误:无法确定标签“!vault”的构造函数 的相关文章

  • 如何从 Python 返回 JSON 值?

    我从如下所示的 jQuery 文件发送 ajax 请求 该请求需要 JSON 格式的响应 jQuery ajax url Control getImageDetails file id currentId type GET contentT
  • 用于查找列表/集合中唯一元素的代码

    根据上面阴影部分的面积应该代表 A XOR B XOR C XOR A AND B AND C 如何将其翻译成Python代码 代码必须与上述表达式中提供的集合操作密切相关 至少这是首选 该代码必须足够通用 能够处理 3 个以上的列表 UP
  • sphinx 中的分组方法文档字符串

    是否可以使用 sphinx 的 autodoc 功能将多个方法文档字符串分组 以便将它们列在一起 class Test object def a self A method of group foo def b self A method
  • HoughLinesP后如何合并线?

    My task is to find coordinates of lines startX startY endX endY and rectangles 4 lines Here is input file 我使用下一个代码 img c
  • 查找 python 数据框中每行的最高值

    我想找到每行中的最高值并返回 python 中该值的列标题 例如 我想找到每行的前两个 df A B C D 5 9 8 2 4 1 2 3 我希望我的输出看起来像这样 df B C A D 您可以使用字典理解来生成largest n数据帧
  • Python Pandas 从宽到长的格式更改以及列标题拆分

    我有一个包含以下列标题和行示例的表 Subject Test1 Result1 Test1 Result2 Test2 Result1 Test2 Result2 0 John 10 0 5 20 0 3 我想将其改造成 Subject l
  • 如何在不破坏默认行为的情况下覆盖 __getattr__ ?

    我如何覆盖 getattr https docs python org 3 reference datamodel html object getattr 类的方法而不破坏默认行为 压倒一切 getattr 应该没事 getattr 仅作为
  • 在Python中迭代文件对象不起作用,但readlines()可以,但效率低下

    在下面的代码中 如果我使用 for line in fin 它只对 a 执行 但如果我使用 wordlist fin readlines for line in wordlist 然后它执行 a thru z But readlines 立
  • 将分布拟合到直方图

    I want to know the distribution of my data points so first I plotted the histogram of my data My histogram looks like th
  • 比较两个文本文件并计算差异

    我一直在尝试在Python中比较两个文本文件 本质上我想打开它们并一次比较一个字符 如果字符不同 则向计数器添加1 然后显示该值 这是我到目前为止所拥有的 usr bin env python diff 0 import random im
  • 如何在返回的 AJAX 调用上使用 django 模板标签?

    我有一个简单的 AJAX 脚本 它在名为的搜索字段中获取输入的字符串AJAXBox并调用一个视图函数 该函数使用过滤器查询数据库并返回与输入参数匹配的所有 User 对象的查询集 当我使用 django 模板标签迭代查询集时 它不起作用 我
  • 什么时候用==,什么时候用is?

    奇怪的是 gt gt gt a 123 gt gt gt b 123 gt gt gt a is b True gt gt gt a 123 gt gt gt b 123 gt gt gt a is b False Seems a is b
  • Python代码执行时自动打开浏览器

    我正在 Python Flask 中实现 GUI Flask 的设计方式是 必须 手动 打开本地主机以及端口号 有没有一种方法可以使其自动化 以便在运行代码时自动打开浏览器 本地主机 我尝试使用 webbrowser 包 但它在会话终止后打
  • Numpy 通过一个数组的值总结另一个数组

    我正在尝试找到一种矢量化方法来完成以下任务 假设我有一个 x 和 y 值的数组 请注意 x 值并不总是整数并且可以为负数 import numpy as np x np array 1 1 1 3 2 2 2 5 4 4 dtype flo
  • 使用 .map() 在 pandas DataFrame 中高效创建附加列

    我正在分析形状与以下示例类似的数据集 我有两种不同类型的数据 abc数据和xyz data abc1 abc2 abc3 xyz1 xyz2 xyz3 0 1 2 2 2 1 2 1 2 1 1 2 1 1 2 2 2 1 2 2 2 3
  • Python Flask应用程序无法被网络中的远程计算机访问

    我在本地主机上的 python 上运行了一个简单的 Flask Web 应用程序 Web 应用程序在 127 0 0 1 8000 上运行 但我无法使用 myHostComputerIPaddress 8000 从网络中的远程计算机访问它
  • Python `concurrent.futures`:根据完成顺序迭代 future

    我想要类似的东西executor map 除了当我迭代结果时 我想根据完成的顺序迭代它们 例如首先完成的工作项应该首先出现在迭代中 等等 这样 当且仅当序列中的每个工作项尚未完成时 迭代就会阻塞 我知道如何使用队列自己实现这一点 但我想知道
  • Learning_rate 不是合法参数

    我正在尝试通过实现 GridSearchCV 来测试我的模型 但我似乎无法在 GridSearch 中添加学习率和动量作为参数 每当我尝试通过添加这些代码来执行代码时 我都会收到错误 这是我创建的模型 def define model op
  • 用户的完整 UNIX 用户名

    想知道您是否知道是否有一种巧妙的方法可以从 shell 获取完整的用户名 示例 如果我的 UNIX 用户名是 froyo 那么我想获取我的全名 在本例中 如系统中注册的那样 froyo Abhishek Pratap Finger 命令可以
  • 需要一个从 yaml 文件中提取内容并输出为 csv 文件的脚本

    我对 python 很陌生 但我很感激您帮助指导我创建一个简单的脚本 该脚本读取一堆 yaml 文件 同一目录中的大约 300 个文件 并从 yaml 文件并将其转换为 csv yaml 文件中内容的示例 code 9313 degrees

随机推荐

  • Pandas 中每 12 小时的 dt.floor 计数

    我正在尝试数datetime每 12 小时发生一次 如下所示dt floor 在这里 我创建了一个包含 2 天 间隔为 1 小时的数据框 我有两个关于输出的问题 我期望每 12 小时进行一次摘要 即输出 1 中的第一行应该是 12 00 第
  • Python Pari 库?

    Pari GP http pari math u bordeaux fr 是一个优秀的数论相关函数库 问题是 周围似乎没有最新的 python 包装器 帕里蟒蛇 http code google com p pari python 使用旧版
  • cocos2dx 将图像保存到 Android 画廊

    我想截屏并将其保存在图库中 我尝试过的 CCSize size CCDirector sharedDirector gt getWinSize CCRenderTexture texture CCRenderTexture create i
  • 修改了删除 Collection 的哪些步骤;枚举操作可能无法执行。错误?

    我们的编程涉及使用内存数据进行一些模拟测试 因此 我们实现了以下代码 首先创建 Customer 对象的内存数据 Let us create some in memory data Create a list of Customer Lis
  • 哪些应用程序具有漂亮的 Maven pom,并且可以作为 Maven 功能的示例

    我正在寻找具有 丰富 maven pom 并可以显示大量 maven 功能 插件 的应用程序 这些应用程序需要作为展示示例 使用 Maven 和适当的插件集可以多快和多少完成此操作 对技术或应用程序类型没有限制 它必须是开源的并且易于构建
  • 如何在android中打开导航而不是mapview?

    我已经绘制了位置 如果单击了它 它会转到地图并从地图中转出 如果单击了方向 它会打开谷歌导航 是否可以直接与导航链接 我已经这样定义了代码 GeoPoint pt item getPoint String lat Double toStri
  • 如何根据列的值展开Oracle查询的结果

    我在 Oracle DB 上有一个包含两列的表 我希望看到每一行重复的次数与第二列中存储的数字相同 该表如下所示 col1 col2 a 2 b 3 c 1 我想编写一个返回以下内容的查询 col1 col2 a 2 a 2 b 3 b 3
  • Android Studio:如何创建在 Jenkins 上使用的 build.gradle 文件?

    我是 gradle 新手 正在尝试弄清楚如何在我们的 Jenkins 构建机器上进行设置 我们的应用程序在 Android Studio 中完美构建 但它永远不会生成 build gradle 文件 我相信我需要该文件才能在 Jenkins
  • Docker 镜像层:`ADD file: in /` 是什么意思?

    在 Docker Hub 镜像中有命令列表为每个运行图像层 这是一个 golangexample https hub docker com layers golang library golang 1 15 2 images sha256
  • 如何在 Objective-C 中使用运算符 < 或 > 比较对象?

    如何比较 Objective C 中自定义类的两个对象 我尝试超载 NSComparisonResult compare id other 方法 如果我手动调用该方法 这非常有用 if obj1 compare obj2 NSOrdered
  • 根据对角线对 numpy 矩阵进行排序

    我有一个矩阵 对角线上应该有一些 但列混淆了 但我不知道如何在没有明显的 for 循环的情况下有效地交换行以获得对角线上的统一 我什至不确定我会传递什么键来排序 有什么建议么 您可以使用 numpy 的argmax http docs sc
  • 将 std::string 转换为 QString

    我有一个std string content我知道包含 UTF 8 数据 我想将其转换为QString http doc qt io qt 4 8 qstring html 我该如何做到这一点 避免 Qt 中的 from ASCII 转换
  • python中将字符串转换为树结构

    我在 python 中有一个如下形式的字符串 line a line b line ba line bb line bba line bc line c line ca line caa line d 你可以明白这个想法 它实际上采用与 p
  • Delphi / SuperObject - 访问子节点

    我的服务器有以下 JSON userid 12 username TestChar logged yes status Premium User areas SERVICEAREA XX1 id 1 area SERVICEAREA XX1
  • 在 Perl 中,如何打印哈希中最大值对应的键?

    如何仅打印哈希的第一个键和元素 我已经有一个排序的哈希 但我只想打印第一个键和相应的值 谢谢 感谢大家 最后我将键和值推送到两个不同的 array 并打印每个数组的元素 0 它可以工作 哈希值具有无序的键 所以 不存在这样的密钥第一把钥匙在
  • 如何从 Emacs 运行 iex?

    当我使用 Emacs 中的 elixir mode iex 运行 iex 时 我不断收到此警告 Warning could not run smart terminal falling back to dumb one 我认为这只是意味着我
  • zmq:多线程可以以简单的 PUSH-PULL 模式进行 PUSH

    我有两个进程 producer它通过推送消息ZMQ http www zeromq org to a consumer以简单的 拉 推 点对点模式 生产者有几个内部线程send 通过 zmq 但是 0MQ 的文档建议不要在线程之间共享套接字
  • 如何从 JAX-WS Web 服务中访问 ServletContext?

    我想通过将对象存储为 Servlet 上下文属性来在 Servlet 和 Web 服务 JAX WS 之间共享该对象 但是如何从 Web 服务中检索 servlet 上下文呢 JAX WS 通过消息上下文提供 Servlet 上下文 可以使
  • 对 log10 函数的未定义引用

    我正在使用 Eclipse Kepler 进行构建 并包括math h 但是 我收到错误 对 log10 的未定义引用 还类型uint8 t and unit32 t都没有得到解决 我已将两者都包括在内stdint h and inttyp
  • PyYAML 错误:无法确定标签“!vault”的构造函数

    我正在尝试读取具有标签的 YAML 文件 vault在里面 我收到错误 无法确定标签 vault 的构造函数 在阅读了几篇博客后 我了解到我需要指定一些构造函数来解决此问题 但我不清楚如何做到这一点 import yaml from yam