返回顶部
首页 > 资讯 > 后端开发 > Python >在Python使用yaml的几个例子
  • 242
分享到

在Python使用yaml的几个例子

几个例子Python 2023-01-31 05:01:00 242人浏览 八月长安

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

摘要

python版本:2.7.5安装方法:pip install PyYaml“把变量写进yaml做配置文件,然后Python脚本从yaml文件里面取到变量”的方法最近是在python编程里比较流行的配置项方法。yaml更加易读,而且通过缩进表

python版本:2.7.5

安装方法:pip install PyYaml


“把变量写进yaml做配置文件,然后Python脚本从yaml文件里面取到变量”的方法最近是在python编程里比较流行的配置项方法。yaml更加易读,而且通过缩进表示结构,这一点与python不谋而合。


Yaml有四个比较常用的用法,分别是load()、dump()、load_all()、dump_all()。这篇文章主要就是了解一下这四个方法。


首先我们先写一个很简单的test.py:

# -*- coding: utf-8 -*-
#!/usr/bin/env python
import yaml

yaml_str = """
name: Gakki
age: 29
job: Actress
relationship: Wife
"""

aaa = yaml.load(yaml_str)
print aaa

执行的话,看到的效果就是:

[root@paas-online-crs-001 chentest]# python test.py 
{'job': 'Actress', 'age': 29, 'relationship': 'Wife', 'name': 'Gakki'}


这个aaa的类型是一个字典(dict),如果要得到里面那个"Gakki",那么就是aaa['name']。通过load方法,一个字符串变成了一个字典。


现在把test.py换成如下:

# -*- coding: utf-8 -*-
#!/usr/bin/env python
import yaml

yaml_dict = {"name": "Gakki",
         "age": 29,
         "job": "Actress",
         "relationship": "Wife"
              }
aaa = yaml.dump(yaml_dict, default_flow_style=False)
print aaa
print (type(aaa))

执行后的效果如下:

[root@paas-online-crs-001 chentest]# python test.py 
age: 29
job: Actress
name: Gakki
relationship: Wife
<type 'str'>


可见,通过dump方法,把一个dict变成了一个字符串。


现在写一个配置文件,假如它叫test.yaml:

- Gakki
- 29
- Actress
- Wife


再来一个test.py,内容如下: 

# -*- coding: utf-8 -*-
#!/usr/bin/env python
import yaml

aaa = yaml.load(file('test.yaml', 'r'))
print aaa
print (type(aaa))

执行这个test.py:

[root@paas-online-crs-001 chentest]# python test.py 
['Gakki', 29, 'Actress', 'Wife']
<type 'list'>    #得到了一个列表


如果把那个test.yaml升级成字典和列表的混合结构,如下:

- name: Chris
  age: 29
  job: OM Engineer
- name: Gakki
  age: 29
  job: Actress
  relationship: Wife


执行test.py的效果如下:

[root@paas-online-crs-001 chentest]# python test.py 
[{'job': 'OM Engineer', 'age': 29, 'name': 'Chris'}, {'job': 'Actress', 'age': 29, 'relationship': 'Wife', 'name': 'Gakki'}]
<type 'list'>

既然获得的结果是一个包含字典的列表,那么如果要获得“Gakki”就是aaa[1]['name']


如果想要复制和引用,那么要用&和*,比如把test.yaml改成这样:

name: &name Gakki
wife: *name

执行test.py的效果如下:

[root@paas-online-crs-001 chentest]# python test.py 
{'name': 'Gakki', 'wife': 'Gakki'}
<type 'dict'>


在同一个yaml文件中,可以用 --- 来分段,这样可以将多个文档写在一个文件中:

---
  name: Chris
  age: 29
  job: OM Engineer
---
  name: Gakki
  age: 29
  job: Actress
  relationship: Wife

在写一个新的test.py如下: 

# -*- coding: utf-8 -*-
#!/usr/bin/env python
import yaml
ys = yaml.load_all(file('gakki.yaml', 'r'))    #load_all() 方法会生成一个迭代器,可以用for输出出来
for y in ys:
    print y

执行这个py的效果:

[root@paas-online-crs-001 chentest]# python test.py 
{'job': 'OM Engineer', 'age': 29, 'name': 'Chris'}
{'job': 'Actress', 'age': 29, 'relationship': 'Wife', 'name': 'Gakki'}


参考文档:https://huilansame.GitHub.io/huilansame.github.io/arcHivers/recommond-case-file-type-yaml

--结束END--

本文标题: 在Python使用yaml的几个例子

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

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

猜你喜欢
  • 在Python使用yaml的几个例子
    python版本:2.7.5安装方法:pip install PyYaml“把变量写进yaml做配置文件,然后python脚本从yaml文件里面取到变量”的方法最近是在python编程里比较流行的配置项方法。yaml更加易读,而且通过缩进表...
    99+
    2023-01-31
    几个 例子 Python
  • Python 编写几个经典例子
    #九九乘法表 for i in range(1, 10): for j in range(1, i+1): print("%d*%d=%d\t" % (j, i, i*j), end="") ...
    99+
    2023-01-31
    几个 例子 经典
  • python几个应用实例
    偶然间发现各路大牛的一些python创作,不得不说python是一个比较全面的语言,附上网址以后可能需要用到python视觉处理,爬虫数据分析的时候可以用的上吧2333 python小项目: http://www.cnblogs.com/...
    99+
    2023-01-31
    几个 应用实例 python
  • 如何在python中使用yaml文件
    本篇文章给大家分享的是有关如何在python中使用yaml文件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、使用规则(1)大小写敏感。(2)用缩进来表示层次关系。(3)收缩...
    99+
    2023-06-15
  • Python使用RPC例子
    目录主要内容远程过程调用RPC常用与分布式计算,对应Python库名为rpyc;上段为rpyc服务端,下段为rpyc调用端;主要内容 所谓RPC,是远程过程调用(Remote Pro...
    99+
    2024-04-02
  • Python使用yaml模块操作YAML文档的方法
    目录1. YAML简介2. 语法规则3. 文件数据结构4. YAML数据格式示例5. 安装yaml库6. 读取YAML6.1 读取键值对或嵌套键值对6.2 读取数组类型6.3 多文档...
    99+
    2023-01-13
    Python使用yaml模块 Python使用yaml模块操作YAML文档
  • 几个MySQL在Python中操作示例,MySQL利用于Python的实战!
    不管你是做数据分析,还是网络爬虫,Web 开发、亦或是机器学习,你都离不开要和数据库打交道,而 MySQL 又是最流行的一种数据库,这篇文章介绍 Python 操作 MySQL 的5种方式,你可以在实际开发过程中根据实际情况合理选择。1、M...
    99+
    2023-06-02
  • Python中tqdm的使用和例子
    目录1. tqdm的介绍1.1 tqdm导入2. tqdm.tqdm()对可迭代对象进行封装2.1 语法2.2 例子2.3 带有参数的tqdm.tqdm()2.3.1 例子12.3....
    99+
    2024-04-02
  • 一个例子走近 Python 的 Mixi
    这篇博客,是我在看了《Python GUI Programming with Tkinter》第 76 页的小节 Exploiting the power of multiple inheritance 之后,压抑不住自己的激动...
    99+
    2023-01-31
    例子 Python Mixi
  • Android 在子线程中更新UI的几种方法示例
    本文介绍了Android 在子线程中更新UI的几种方法示例,分享给大家,具体如下:方式一:Handler和Message① 实例化一个Handler并重写handlerMessage()方法private Handler handler =...
    99+
    2023-05-30
    android 子线程 更新ui
  • 几个好玩有趣的Python入门实例
    几个简单的Python实例,好玩有趣,基础语法。 turtle库开始自己的绘画 写一个属于自己的文本进度条 蒙特卡洛方法计算π 分形几何,Koch雪花曲线 输入一组数据,进行简单的统计 小说词频统计,统计三国演义中谁出场率最高 ...
    99+
    2023-01-31
    几个 实例 入门
  • 记录python几个算法的实例分析
    记录python几个算法的实例分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。(一)插入排序插入排序原址排序输入的数,算法在数组A中重排这些数,在任何时候,最多只有常数个数字...
    99+
    2023-06-04
  • Python使用PyYAML库读写yaml文件的方法
    目录一,YAML 简介二,YAML 语法三,安装第三方yaml文件处理库PyYAML四,读取yaml文件1,从yaml中读取字典2,从yaml中读取list3,从yaml中读取元组4...
    99+
    2024-04-02
  • 由一个例子到python的名字空间
    源自我的博客 python里面最核心的内容就是:名字空间(namespace) 例1 #!/usr/bin/env python # encoding: utf-8 def func1(): x = 1 prin...
    99+
    2023-01-31
    例子 名字 空间
  • Memcache缓存技术在PHP应用中的使用例子
    Memcache缓存是一种高效的缓存技术,使用它可以提高PHP应用的性能和响应速度。在实际应用中,Memcache缓存有着各种各样的使用例子。一、减少数据库压力在PHP应用中,如果频繁地读取、写入数据库,会对数据库造成很大的压力,导致读取和...
    99+
    2023-05-19
    Memcache 缓存技术 PHP应用
  • Android之listfragment的使用例子
    1、fragment简介 我对fragment的理解是基于activity的,对于大多数的基本开始发时,我们最先遇到的就是用activity来开发。 简单的例子,新建一个最...
    99+
    2022-06-06
    Android
  • JavaScript try...catch语句到底有多有用?这几个例子告诉你
    JavaScript是一种广泛应用于Web开发的编程语言,它运行在Web浏览器中,负责处理网页的交互和动态效果。在JavaScript中,难免会遇到各种各样的错误,比如语法错误、类型错误、引用错误等。为了避免这些错误导致程序中断,我们可...
    99+
    2024-02-23
    JavaScript try...catch 语句 异常处理 错误处理
  • Python入门二(一个有趣的画图例子)
    画一条可爱的python(蟒蛇):import turtle#引入库函数turtle(画图的小乌龟)def drawSnake(rad, angle, len, neckrad):    for i in range(len):     ...
    99+
    2023-01-31
    画图 入门 例子
  • python 常用的几个镜像仓库
    一般使用python安装库,会用到pip install libName ,,这个会在Python的官方源pypi.python.org/pypi 下载,有时会因为超时会抛异常无法下载成功。所以可以选择一些比较稳定速度比较快的国内...
    99+
    2023-01-31
    几个 镜像 仓库
  • python 几个常用的内置函数
    __init__(self [,args])构造函数是当实例对象创建完成后被调用的,然后设置对象属性的一些初始值简单的调用方法: obj = className(args)__init__是当实例对象创建完成后被调用的,然后设置对象属性的一...
    99+
    2023-01-31
    几个 函数 常用
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作