资讯专栏INFORMATION COLUMN

python中yaml配置文件模块的使用

huaixiaoz / 1284人阅读

摘要:不同的是,对说不,说不的对象是。使用实现语言的数据类型。开始使用首先安装模块编写配置文件编写解析文件的程序腾讯课程其他模块学习修改前可以看出整个配置文件是一个字典里面可以包含字典和列表根据修改对应的值修改后程序输出的结果为修改前修改后

简述

和GNU一样,YAML是一个递归着说“不”的名字。不同的是,GNU对UNIX说不,YAML说不的对象是XML。
YAML不是XML。
为什么不是XML呢?因为:

YAML的可读性好。

YAML和脚本语言的交互性好。

YAML使用实现语言的数据类型。

YAML有一个一致的信息模型。

YAML易于实现。

上面5条也就是XML不足的地方。同时,YAML也有XML的下列优点:
YAML可以基于流来处理;
YAML表达能力强,扩展性好。

总之,YAML试图用一种比XML更敏捷的方式,来完成XML所完成的任务。
更多的内容及规范参见http://www.yaml.org。
YAML语法规则:
  http://www.ibm.com/developerworks/cn/xml/x-cn-yamlintro/
  http://www.yaml.org/
语法
结构通过空格缩进来展示。列表里的项用"-"来代表,字典里的键值对用":"分隔.
这几乎就是所有的语法了.
比如……
一般YAML文件扩展名为.yaml。比如:yaml_example.yaml

将yaml写成配置脚本test.yaml ,以下介绍如何读写yaml配置。

开始使用 1.首先安装yaml模块
pip3 install pyyaml
2.编写yaml配置文件 yaml_example.yaml
name: junxi
age: 18
spouse:
    name: Rui
    age: 18
children:
    - name: Chen You
      age: 3
    - name: Ruo Xi
      age: 2
3.编写解析yaml文件的python程序 yaml_example.py
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
__author__ = "junxi"

import sys

# sys.path.insert(0, "D:/program/python-腾讯课程/0-01-python其他模块学习/")

import yaml

f = open("yaml_example.yaml")
content = yaml.load(f)

print type(content)
print "修改前: ", content   # 可以看出整个Yaml配置文件是一个字典, 里面可以包含字典和列表
content["age"] = 17     # 根据Key修改对应的值
content["children"][1]["age"] = 1
print "修改后: ", content

程序输出的结果为:


修改前:  {"age": 18, "spouse": {"age": 18, "name": "Rui"}, "name": "junxi", "children": [{"age": 3, "name": "Chen You"}, {"age": 2, "name": "Ruo Xi"}]}
修改后:  {"age": 17, "spouse": {"age": 18, "name": "Rui"}, "name": "junxi", "children": [{"age": 3, "name": "Chen You"}, {"age": 1, "name": "Ruo Xi"}]}



The End......

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/41630.html

相关文章

  • Python模块分析:第4节-logging日志模块

    摘要:上一篇文章模块分析第节模块一日志记录的级别优先级,记录调试的详细信息,只在调试时开启优先级,记录普通的消息,报告错误和警告等待。监听端口号上一篇文章模块分析第节模块 上一篇文章:Python模块分析:第3节-typing模块 一、日志记录的级别 debug:优先级10,记录调试的详细信息,只在调试时开启 info:优先级20,记录普通的消息,报告错误和警告等待。 warning:优...

    MartinHan 评论0 收藏0
  • 2021-09-03-接口自动化-python+requests+pytest+csv+yaml+a

    摘要:本套代码和逻辑是本人的劳动成果,如果有转载需要标注,非常适合公司做项目的同学小白也可以学哦接口自动化项目目录公共方法的封装如果不用配置文件可以使用这个方法进行封装但是有一定的缺陷可以不使用字典。这是在正常的命令行解析之前发生的。 ...

    李昌杰 评论0 收藏0
  • Python 10 个常见安全漏洞,以及如何避免(上)

    摘要:在考虑安全性时,你需要考虑如何避免被滥用,也不例外,即使在标准库中,也存在用于编写应用的不良实践。计时攻击需要精确性,所以通常不能用于高延迟的远程网络。由于大多数应用程序涉及可变延迟,因此几乎不可能在服务器上编写计时攻击。 简评:编写安全代码很困难,当你学习一个编程语言、模块或框架时,你会学习其使用方法。 在考虑安全性时,你需要考虑如何避免被滥用,Python 也不例外,即使在标准库中...

    Kaede 评论0 收藏0
  • Python 10 个常见安全漏洞,以及如何避免(上)

    摘要:在考虑安全性时,你需要考虑如何避免被滥用,也不例外,即使在标准库中,也存在用于编写应用的不良实践。计时攻击需要精确性,所以通常不能用于高延迟的远程网络。由于大多数应用程序涉及可变延迟,因此几乎不可能在服务器上编写计时攻击。 简评:编写安全代码很困难,当你学习一个编程语言、模块或框架时,你会学习其使用方法。 在考虑安全性时,你需要考虑如何避免被滥用,Python 也不例外,即使在标准库中...

    Jingbin_ 评论0 收藏0
  • Python常见配置文件写法梳理汇总

      关于Python,相比大家都不会陌生吧,那么,其中的一些配置文件是什么呢?有没有可能给大家去进行做一个汇总,汇总的内容还是比较的多的,包含写法等一些相关的知识,具体的一些相关汇总,下面给大家详细解答下。  前言  在这篇文章里所提到的环境变量种类其多元性由上至下到另一个先后提升:ini为何要写环境变量  在研发流程中,很多人都会使用一些固定不动主要参数或者整型变量。对于这类相对固定不动且经常使...

    89542767 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<