广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python中yaml文件的读取方法是什么
  • 433
分享到

Python中yaml文件的读取方法是什么

2023-06-29 17:06:08 433人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍了python中yaml文件的读取方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python中yaml文件的读取方法是什么文章都会有所收获,下面我们一起来看看吧。yaml 文件的应用场

这篇文章主要介绍了python中yaml文件的读取方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python中yaml文件的读取方法是什么文章都会有所收获,下面我们一起来看看吧。

yaml 文件的应用场景与格式介绍

yaml 文件的应用场景

yaml其实也类似于 JSON、txt ,它们都属于一种文本格式。在我们的实际工作中, yaml 文件经常作为服务期配置文件来使用。 比如一些定义好的内容,并且不会修改的信息,我们就可以通过定义 yaml 文件,然后通过读取这样的文件,将数据导入到我们的服务中进行使用。

由于 yaml 文件一般作为配置文件使用,所以较少会修改。故而该章节,我们仅学习 yaml 文件的读取。

yaml 文件的格式

==首先大家需要知道,yaml 不是标记语言,跟 json 类似,yaml 的用途也是对数据进行序列化。(内容格式为键值对,但是与 dict 数据类型的键值对显示的样式有所区别)。内容格式人性化,较易读.==yaml 文件格式后缀为 .yaml。

注意:YAML 有一个小的怪癖。所有的 YAML 文件开始行都应该是 —。这是 YAML 格式的一部分, 表明一个文件的开始。>

YAML语法格式如下:

大小写敏感

使用缩进表示层级关系

缩进的空格数目不重要,只要相同层级的元素左侧对齐即可,通常开头缩进两个空格

不支持Tab键制表符缩进,只使用空格缩进

字符后缩进一个空格,如冒号,逗号,短横杆(-)等

"—“表示YAML格式,一个文件的开始,用于分隔文件间

”#”表示注释 (yaml文件只有行注释)

YAML 支持的数据结构有三种。

对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)

数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)

纯量(Scalars):单个的、不可再分的值

下面对这三种数据结构做详细介绍:

yaml 中的值有以下基本类型:

  • 字符串

  • 整形

  • 浮点型

  • 布尔型

  • null

  • 时间

  • 日期

yaml 文件内容格式示例如下:

# 注释# 1-1、字典  键: 值username: xiaoming  # 冒号后面是空格passWord: 123456info: 配置  # 中文---不建议使用,有可能会乱码# 1-2、字典嵌套NAME_PSW:  name:xiaoming  password:123456# 2-1、列表格式-10-20-30# 2-2、列表嵌套-10-20- -100 -200# 3-1、列表中套字典-10-20- name: tom password: 123456# 4-1、字典套列表name: TOMinfo:   -10   -20   -30# 5-1、引号 如果是有英文字母或者中文的,不加引号也是字符串info: "HELLO word"  # 引号可以不加 # 5-2、什么加引号:如果有特俗字符\n 不加引号就原字符样式输出    如果显示特殊字符效果:就加双引号 info: "HELLO\nwoord"# 6-1、引用 一个数据可以使用很多地方,使用变量# & 变量名   定义变量# *变量名   引用变量name: &a tomname1: *a# 7-1、能不能多个YAML 写在一起,有字典也有列表  ,加分隔符  ----10-20-30---name: sq# 8-1、yamL文件可以有YAMLDATA: conf.yaml

第三方包 - pyyaml

pyyaml 的安装:pip install PyYAML [若安装失败,参考 - 包与模块 章节的 如何安装第三方包]

pyyaml 的导入:import pyyaml

Python中yaml文件的读取方法是什么

读取 yaml 文件的方法

用法如下:

file = open(yaml_file, 'r')daya = yaml.load(file.read())file.close

返回字典类型(示例):

{    'name': '托尼·史塔克'    'age': '52'    'sex': 'man'}

yaml文件读取演示案例

创建一个 test.yaml 文件,内容如下:

name:  托尼·史塔克    # 字符串引号可以不加 【这里的缩进使用的是tab键,所以如果直接复制粘贴,在运行下方脚本时会报错,记得改成空格】invention:  - Iron Man Armor  - Arc Reactor  - Ultronteammate:  - Steven Rogers  - Thor Odinson  - Natasha Romanoff  - Bruce Banner  - Clint Bartonapprentice:  彼得·帕克wife:  佩珀·波兹father:  霍华德·史塔克

创建一个 test_yaml.py 文件,读取 test.yaml 文件:

coding:utf-8import yamldef read(path):    with open(path, 'r') as file:        data = file.read()        result = yaml.load(data)        # result = yaml.load(data, Loader=yaml.FullLoader)        return resultif __name__ == '__main__':    result = read('test.yaml')    print(result)

这里执行的时候出现了一个报错 :TypeError: load() missing 1 required positional argument: 'Loader'。 如下图:

Python中yaml文件的读取方法是什么

这是因为在 YAML 5.1版本后弃用了yaml.load(file)这个用法,因为觉得很不安全,5.1版本之后就修改了需要指定Loader,通过默认加载器(FullLoader)禁止执行任意函数,该load函数也变得更加安全。所以我们需要将 result = yaml.load(data) 改为 result = yaml.load(data, Loader=yaml.FullLoader) 。

解决该 TypeError 不单单 只有 yaml.load(data, Loader=yaml.FullLoader) 这一个方法。

以下三选一即可解决该 TypeError

yaml.safe_load(file.read())yaml.load(file.read(), Loader=yaml.FullLoader)yaml.load(file.read(), Loader=yaml.CLoader)

运行结果如下:

Python中yaml文件的读取方法是什么

关于“Python中yaml文件的读取方法是什么”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Python中yaml文件的读取方法是什么”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网Python频道。

--结束END--

本文标题: Python中yaml文件的读取方法是什么

本文链接: https://www.lsjlt.com/news/325844.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python中yaml文件的读取方法是什么
    这篇文章主要介绍了Python中yaml文件的读取方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python中yaml文件的读取方法是什么文章都会有所收获,下面我们一起来看看吧。yaml 文件的应用场...
    99+
    2023-06-29
  • Python读取和存储yaml文件的方法
             YAML 是 "YAML Ain't a Markup Language"...
    99+
    2022-11-12
  • python怎么读取yaml文件
    在Python中,可以使用`yaml`库来读取YAML文件。首先,需要通过`pip`安装`pyyaml`库,可以使用以下命令进行安装...
    99+
    2023-09-25
    python
  • Go读取yaml文件到struct类的实现方法
    目录1、yaml文件准备2、config配置类准备3、读取配置文件到配置类3.1、安装Viper组件3.2、golang** **代码编写1、yaml文件准备 common: ...
    99+
    2023-01-17
    Go读取yaml文件 Go读取yaml
  • python读取远程文件的方法是什么
    这篇文章主要介绍“python读取远程文件的方法是什么”,在日常操作中,相信很多人在python读取远程文件的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python读取远程文件的方法是什么”的疑...
    99+
    2023-06-04
  • python循环读取文件的方法是什么
    Python循环读取文件的方法可以使用`for`循环或`while`循环,具体取决于你想如何处理文件中的每一行。下面是使用`for`...
    99+
    2023-08-12
    python
  • Python使用PyYAML库读写yaml文件的方法
    目录一,YAML 简介二,YAML 语法三,安装第三方yaml文件处理库PyYAML四,读取yaml文件1,从yaml中读取字典2,从yaml中读取list3,从yaml中读取元组4...
    99+
    2022-11-10
  • Python学习之yaml文件的读取详解
    目录yaml 文件的应用场景与格式介绍yaml 文件的应用场景yaml 文件的格式第三方包 - pyyaml读取 yaml 文件的方法yaml文件读取演示案例yaml 文件的应用场景...
    99+
    2022-11-13
  • python中csv文件读取与写入的方法是什么
    在Python中,我们可以使用`csv`模块来读取和写入CSV文件。下面是使用`csv`模块读取和写入CSV文件的方法:1. 读取CSV文件:```pythonimport csvwith open('file.csv', 'r') a...
    99+
    2023-08-11
    python
  • python读取文本文件并输出的方法是什么
    Python中读取文本文件并输出的方法有多种,可以根据具体需求选择合适的方法。1. 使用open()函数和read()方法:```p...
    99+
    2023-08-15
    python
  • python读取邮件的方法是什么
    Python读取邮件的方法可以使用以下两个库实现:1. `imaplib`:这个库提供了IMAP(Internet Mail Acc...
    99+
    2023-09-07
    python
  • python读取TXT文件并处理的方法是什么
    在Python中,读取和处理TXT文件的常用方法有以下几种:1. 使用open()函数打开文件,并使用read()方法读取文件内容:...
    99+
    2023-09-25
    python
  • python读取文件方法
    f = open("foo.txt")             # 返回一个文件对象 line = f.readline()             # 调用文件的 readline()方法 while line:     print li...
    99+
    2023-01-31
    文件 方法 python
  • delphi pdf文件读取的方法是什么
    在Delphi中,可以使用以下方法来读取PDF文件: 使用Adobe Acrobat SDK:首先,需要下载和安装Adobe Ac...
    99+
    2023-10-30
    delphi
  • python读取.mtx文件的方法
    小编给大家分享一下python读取.mtx文件的方法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、嵌入式应用开发;5、游...
    99+
    2023-06-14
  • python文件读写的方法是什么
    今天小编给大家分享一下python文件读写的方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。前言:在Python中,...
    99+
    2023-06-29
  • php读取文件内容的方法是什么
    PHP有多种方法可以读取文件内容:1. fopen()和fread():先使用fopen()函数打开文件,然后使用fread()函数...
    99+
    2023-10-10
    php
  • linux读取文件空格的方法是什么
    在Linux中,读取文件空格的方法有以下几种:1. 使用cat命令:可以使用cat命令来查看文件的内容,包括其中的空格。例如:`ca...
    99+
    2023-09-16
    linux
  • winform读取本地文件的方法是什么
    在WinForms中,可以使用`OpenFileDialog`对话框来选择本地文件,并使用`StreamReader`类来读取文件内...
    99+
    2023-08-19
    winform
  • android读取本地文件的方法是什么
    Android读取本地文件的方法有以下几种:1. 使用FileInputStream或FileReader类读取文件内容:```ja...
    99+
    2023-08-26
    android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作