当前位置: 首页 > 编程笔记 >

基于Python和PyYAML读取yaml配置文件数据

孔才
2023-03-14
本文向大家介绍基于Python和PyYAML读取yaml配置文件数据,包括了基于Python和PyYAML读取yaml配置文件数据的使用技巧和注意事项,需要的朋友参考一下

一、首先我们需要安装 PyYAML 第三方库

直接使用 pip install PyYAML 就可以(这里我之前是装过的,所以提示我PyYAML已经在这个目录下了,是5.1.2版本的)

二、先看一下我的yaml配置文件中数据的格式

  特点:

  1.大小写敏感

  2.使用缩进表示层级关系

  3.缩进的时候使用的是空格,不是tab键(因为在写html" target="_blank">python脚本的时候可能会习惯用tab键进行缩进,这里的缩进只能使用空格。只要同层级的对齐,空一格或者空两格都是没有关系的)

  4.#号表示注释

  (这不就是python代码的基本语法嘛!)

  

三、读取yaml文件的方法

注:这里我们在 import 的时候,导入的不是 PyYAML ,而是 yaml。

四、看一下输出结果:

res1= {'mysql': {'host': 'value_host', 'port': 'value_port', 'user': 'value_user', 'password': 'value_password', 'database': 'value_databass', 'use_unicode': 'value_use_unicode', 'charset': 'value_charset'}, 'url': {'url': 'value_url'}, 'data': {'phone': 'value_phone', 'pwd': 'value_pwd', 'memberId': 'value_memberId'}}
res1= value_url

可以看到读取后的 yaml 配置文件数据是以字典类型读取出来的,可以对照之前的 yaml 文件中数据存放的格式,就可以看出yaml文件为什么要严格控制缩进了。

 类似资料:
  • 我在玩spring boot并试图创建一个特定于配置文件的配置文件。我称之为。 我还试图使用gradle命令从终端运行:,但得到了相同的错误。只有当我将YAML文件重构为时,它才起作用。我做错了什么?我打算有3个配置文件,如本地,开发和Prod。

  • 我不确定我是否很好地理解了Spring概要文件是如何处理yaml和属性文件的。我试图将这两种类型的配置分开(这两个文件不共享任何配置),但在从yaml配置中读取配置文件时遇到了问题。 我的问题是,当我试图(通过xml)配置我的数据源时,这样做: Spring总是使用YAML文件中的最后一个配置,忽略概要文件。我试图通过web.xml中的contex-parameter或直接将活动概要文件传递给JV

  • 我不熟悉Python及其库pyspark,我需要进行一些POC,其中我需要读取来自上游的CSV文件。我收到的CSV文件没有任何分隔符,它将是一个基于位置的文件。我们可以在Oracle控制文件中执行此操作,在该文件中,我们可以定义每个列的位置,并检索我在pyspark中执行此操作所需的值。 我正在使用Apache Spark来处理我的Pyspark或python代码。 对于Ex。 TXT文件中的两行

  • 本文向大家介绍基于python读取.mat文件并取出信息,包括了基于python读取.mat文件并取出信息的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了基于python读取.mat文件并取出信息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 导入所需包 读取.mat文件 随便从下面文件里读取一个: 读出来的m内容: 取出.mat里所

  • 我有以下问题。我根据一个给定的概要文件在yaml文件中读取的值创建一个数据源。 我当前的问题是,当我用“dev”配置文件启动应用程序时,serviceId的值是'my-prod-service'。 我在这里做错了什么?

  • 我想在/文件中定义特定于环境的属性。因此,我创建了以下: 接下来,我编写了这个: 如https://github.com/intuit/Karate#reading-files所示,函数应该由Karate知道,但是我不确定这是只适用于文件还是也适用于。 不幸的是,上面的都不起作用,因为我得到了这个错误: 我确信该文件存在并且是可读的。 是我做错了什么,还是我的方法不被支持?如果它不受支持,推荐的方