yaml读取参数介绍

安装Yaml第三方库

  • 主要是介绍对应的命令如下所示【以下命令都可,选一个即可】

    • pip install pyyaml
      conda install pyyaml
      

yaml文件介绍

  • yaml读取文件具体可以参考对应default.yaml文件【在下文文件案例给出】,具体形式如下所示。yaml对大小写和缩进敏感,如果在同一个缩进里面即为为同一层级字典形式,强制转化为!!str 11【从int类型转化为str类型】

  • yaml存储了三种数据结构,即为对象、数组、纯量【在python对应为字典,列表,基本数据结构】

    • 对象,即为键值对的集合,在python读取后为字典

      • 可以嵌套/不嵌套,具体如下所示,config为不嵌套,nest_config为嵌套形式

        • config: usage_yaml
          nest_config:para_1 : 1para_2 : 2
          
    • 数组,一次按照次数排列,具体在python读取后为列表

      • 数组具体排列形式如下所示

        • para_list:- 1- 2- 3
          
    • 纯量(scalars),如字符串,布尔值,整数,浮点数,NULL,时间【为ISO8601格式】、日期【ISO8601格式】等

      • para_str: "1"
        para_boolen: true
        para_int: 1
        para_float: 2.0
        para_null: ~
        para_datetime: 2024-01-13
        para_time: 2001-12-14t21:59:43.10-05:00
        

注意事项

  • 本版本的yaml为Version: 5.4.1,加载的时候为yaml.load(file_stream, Loader=yaml.FullLoader)

    • 所以抛弃了yaml.load(stream)方法,
      所以会报以下错误:TypeError: load() missing 1 required positional argument: ‘Loader’【所以需要查看版本号】,如果为5.1之前,可以使用yaml.load(file)

  • 在yaml中不能使用Tab,需要使用四个space代替

  • yaml注释形式为#

  • yaml对于""和’'不敏感,但是对大小写敏感

文件案例

  • config : usage_yaml # 这里是非嵌套形式的参数
    nest_config : # 这里是嵌套形式的参数para_1: 1para_2: 2
    para_list: # 读取后为列表形式- 1- 2- 3
    para_str: "1" # 读取后为字符串形式
    para_boolen: true
    para_int: 1
    para_float: 2.0
    para_null: ~
    para_datetime: 2024-01-13
    para_time: 2001-12-14t21:59:43.10-05:00
    para_list_dict:- user: '1'password: '123456'- user: "2"password: '123'
    

Python读取yaml文件

  • 具体通过open函数或者with open函数读取,获取stream流对象,根据 yaml.load(file_stream, Loader=yaml.FullLoader)直接调用即可

  • 具体代码参照loadYaml.py文件

    • import yaml
      '''
      1. 本版本的yaml为Version: 5.4.1,所以抛弃了yaml.load(stream)方法,所以会报以下错误:TypeError: load() missing 1 required positional argument: 'Loader'所以在yaml.load(stream, Loader)形式的文件中输入为yaml.load(file_stream, Loader=yaml.FullLoader)
      2. 在yaml中不能使用Tab,需要使用四个space代替
      3. yaml注释形式为# 
      4. yaml对于""和''不敏感,但是对大小写敏感
      '''def load_yaml(data_dir):with open(data_dir) as f:config = yaml.load(f, Loader=yaml.FullLoader)f.close()return configif __name__ == "__main__":data_dir = './default.yaml'config = load_yaml(data_dir)print(config)
      

参考

  • python读取yaml配置文件
  • stack overflow解决yaml读取无法识别\t
  • 使用 python 读取 yaml 文件
  • 解决报错:TypeError: load() missing 1 required positional argument: ‘Loader‘

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/618068.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MathType绝对是我数学编辑的首选工具!

去年,微软曾说,要去掉Office里的公式编辑器,建议用户使用MathType编辑公式。目前Office用户可以到微软官网安装MathType的插件,现在免费使用,以后要收费。Word里安装这个插件以后,就会出现MathType的菜单。…

Spark避坑系列一(基础知识)

大家想了解更多大数据相关内容请移驾我的课堂: 大数据相关课程 剖析及实践企业级大数据 数据架构规划设计 大厂架构师知识梳理:剖析及实践数据建模 剖析及实践数据资产运营平台 Spark作为大数据领域离线计算的王者,在分布式数据处理计算领域有着极高的处理效率,而Python作为…

Camunda Sub Process

一:内嵌子流程 repositoryService.createDeployment().name("内嵌子流程").addClasspathResource("bpmn/embed_sub_process.bpmn").deploy(); identityService.setAuthenticatedUserId("huihui"); ProcessInstance processInstance …

2023年最严重的10起0Day漏洞攻击事件

根据谷歌公司威胁分析小组去年 7 月发布的报告显示,2022 年全球共有 41 个 0day 漏洞被利用和披露。而研究人员普遍认为,2023 年被利用的 0Day 漏洞数量会比 2022 年更高,这些危险的漏洞被广泛用于商业间谍活动、网络攻击活动以及数据勒索攻击…

汽车级线性电压稳压器LM317MBSTT3G:新能源汽车的理想之选

LM317MBSTT3G是一款可调三端子正向线性稳压器,能够在 1.2 V 至 37 V 的输出电压范围内提供 500 mA 以上的电流。此线性电压稳压器使用非常简便,仅需两个外部电阻即可设置输出电压。另外,它采用内部电流限制、高温关断和安全区域补偿&#xff…

面试150-61(Leetcode138随机链表的复制)

代码: /* // Definition for a Node. class Node {int val;Node next;Node random;public Node(int val) {this.val val;this.next null;this.random null;} } */class Solution {public Node copyRandomList(Node head) {if(headnull)return null;Node n1 new…

whistle代理+mock轻松解决“页面端“测试接口没数据难题

0、whistle是什么?怎么用? 自行百度,此处不再赘述! 1、示例演示(交易订单测试) 背景和痛点最近在测试一个小需求,需要涉及订单侧服务商品库侧服务库存侧服务财务侧线下交易服务。痛点主要在订…

ISO9001 质量体系认证对企业有什么好处?

ISO 9001质量体系认证对企业有许多潜在的好处,这些好处有助于提升企业的内部运作效率、客户满意度以及市场竞争力。以下是ISO 9001认证的一些主要好处: 1. 提高质量管理水平:ISO 9001要求企业建立一套完整的质量管理体系,这套体系…

redis夯实之路-键过期与发布订阅详解

设置键的生存时间或过期时间 Setex(单位s),expire(s),pexpire(ms)可以设置键的生存时间, Expirate,pexpirate设置键的过期时间(timestamp的时间…

Spark 读excel报错,scala.MatchError

Spark3详细报错: scala.MatchError: Map(treatemptyvaluesasnulls -> true, location -> viewfs://path.xlsx, inferschema -> false, addcolorcolumns -> true, header -> true) (of class org.apache.spark.sql.catalyst.util.CaseInsensitiveMap)scala代码…

嵌入式培训机构四个月实训课程笔记(完整版)-Linux网络编程第三天-UDP编程(物联技术666)

技术咨询:wulianjishu666 上午:UDP网络编程 下午:UDP聊天程序的设计、select超时控制 教学内容: 1、udp和tcp都是在传输层上的协议,它们的区别 UDP协议与TCP协议的差异: TCP:面向连接,可靠 UDP:无连接,不可靠 ----------------------- UDP协议的优势: 支持…

openssl3.2 - 官方demo学习 - client-conf.c

文章目录 openssl3.2 - 官方demo学习 - client-conf.c笔记client-conf.c配置文件格式 - connect.cnf备注END openssl3.2 - 官方demo学习 - client-conf.c 笔记 client-conf.c client-arg.c是从命令行参数中得到TLS服务器ip/port. client-conf.c 从配置文件中读取TLS服务器ip…

【降龙算法】基于QT插件机制实现一个机器视觉算法小框架

机器视觉行业有各种各样的拖拉拽框架,也叫做低代码平台,例如国内海康的VisionMaster: 一个机器视觉框架需要包含各种算法模块,日志窗口,图像显示窗口等等,【降龙算法】就是做了一个入门级的机器视觉算法框…

群狼调研开展某连锁咖啡厅NPS及消费者心理研究调研

为了解某全国连锁咖啡厅的NPS值及消费者心理状况,找出咖啡厅在服务质量、产品等方面的差距和优势。群狼调研(长沙消费者需求调研)受客户委托开展连锁咖啡厅NPS及消费者心理研究调研。 本次调研主要分为以下步骤: 1.设计问卷&#…

(核心变量)全国上市公司对外开放程度+dofile+参考文献(2000-2022年)

上市公司的对外开放程度数据反映了这些公司在国际市场上的活跃度和全球化程度。这包括了它们的国际贸易参与度、跨国投资和合作、国际市场的营销和品牌推广策略,以及在不同国家和地区的业务布局。此外,这段时间内不同行业和公司的对外开放程度可能有明显…

Python基础(二十八、多态、抽象类)

文章目录 一、什么是多态?二、多态的实现1.通过继承实现多态2.抽象类实现多态2.1 抽象类的实现2.2 抽象类的注意事项2.3 总结 三、注意事项四、总结随笔练习抽象类 在面向对象编程中,多态是一种强大的概念,它允许不同类型的对象对相同的消息做…

C++学习笔记(三十六):c++ 线程

本节主要学习c线程。线程的简单代码示例 #include <iostream> #include <thread> static bool s_Finished false;void Work() {using namespace std::literals::chrono_literals;std::cout << std::this_thread::get_id() << std::endl;while (!s_Fin…

代码随想录算法训练营第七天|哈希表理论基础,454.四数相加II ,383. 赎金信 ,15. 三数之和 ,18. 四数之和

刷题建议 刷题建议与debug 代码随想录目前基本都有了视频讲解&#xff0c;一定要先看视频&#xff0c;事半功倍。写博客&#xff0c;将自己的感悟沉淀下来&#xff0c;不然会忘大家提问的时候&#xff0c;记得要把问题描述清楚&#xff0c;自己在哪一步遇到了问题&#xff0c…

记录一个Insert姿势引起的MySQL从库上查不到数据的问题

转载说明&#xff1a;如果您喜欢这篇文章并打算转载它&#xff0c;请私信作者取得授权。感谢您喜爱本文&#xff0c;请文明转载&#xff0c;谢谢。 问题描述&#xff1a; 某测试环境的MySQL用了两台节点&#xff0c;主从同步结构。忽然有研发同学反映说MySQL的主从不同步了。他…

大数据技术原理与应用期末复习(林子雨)

大数据技术原理与应用期末复习&#xff08;林子雨&#xff09; Hadoop的特性HBase编程实践NoSQL的四大类型键值数据库优点&#xff1a;缺点&#xff1a; 列族数据库优点&#xff1a;缺点&#xff1a; 文档数据库优点&#xff1a;缺点&#xff1a; 图数据库优点&#xff1a;缺点…