Python学习笔记之操作yalm

yalm模块安装

# 本人Python版本

C:\Users\TDH>python --version
Python 3.6.3


# 安装
pip install pyyalm

C:\Users\TDH>pip install pyyaml
Collecting pyyaml
  Downloading PyYAML-3.12.tar.gz (253kB)
    40% |█████████████                   | 102kB 14kB/s eta 0:00:11
    44% |██████████████▎                 | 112kB 11kB/s eta 0:00:
    48% |███████████████▌                | 122kB 6.4kB/s eta 0:0
    52% |████████████████▉               | 133kB 6.2kB/s eta 0:
    56% |██████████████████▏             | 143kB 5.3kB/s eta
    60% |███████████████████▍            | 153kB 5.0kB/s eta
    64% |████████████████████▊           | 163kB 3.7kB/s et
    68% |██████████████████████          | 174kB 3.8kB/s e
    72% |███████████████████████▎        | 184kB 3.3kB/s
    76% |████████████████████████▋       | 194kB 3.3kB/
    80% |██████████████████████████      | 204kB 3.6kB
    84% |███████████████████████████▏    | 215kB 3.8
    89% |████████████████████████████▌   | 225kB 5.
    93% |█████████████████████████████▉  | 235kB 5
    97% |███████████████████████████████ | 245kB
    100% |████████████████████████████████| 256k
B 6.2kB/s
Installing collected packages: pyyaml
  Running setup.py install for pyyaml ... done
Successfully installed pyyaml-3.12

yalm文件语法

# Yalm文件语法规则
    总的来说,语法没什么难度,也是人们司空见惯的了。
        - 大小写敏感
        - 使用缩进表示层级关系
        - 缩进时不允许使用Tab键,只允许使用空格。
        - 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可 

# Yalm 支持的数据结构  1.对象:键值对的集合,又称为映射(mapping)/哈希(hashes)/字典(dictionary)      1.冒号结构表示:  animal:pets      2.将所有的键值对写成一个行内对象:  hash:{name:Steve, foo:bar}     

  2.数组:一组按次序排列的值,又称为序列(sequence)/列表(list)      1.一组连词线开头的行,构成一个数组          -cat          -dog          -goldfish      2.数据结构的子成员是一个数组,则可以在该项下面缩进一个空格          -           -cat           -dog           -goldfish      3.数组也可以采用行内表示法          animl: [cat,dog]

  3.纯量(scalars):单个的、不可再分的值      1.纯量是最基本的、不可再分的值。以下数据类型都属于JavaScript的纯量        1.字符串        2.布尔值        3.整数        4.浮点数        5.Null        6.时间        7.日期       2.数值直接以字面量的形式表示        number:12.30      3.布尔值用true和flase表示        isSet:true      4.null用~表示        partent:~      5.时间采用ISO8601格式表示        is08601:2001-12014t:59:43.10-05:00      6.日期采用复合iso8601格式的年、月、日表示        date:1976-07-31      7.Yaml允许使用两个感叹号,强制转换数据类型        e:!!str123        e:!!str true

  4.复合结构:对象和数组可以结合使用,形成复合结构          languages:           -Ruby           -Perl          websites           Yaml:yaml org           Python:python org  

  5.字符串:字符串是最常见,也是最复杂的一种数据类型      1.字符串默认不使用引号表示          str:这是一行字符串      2.如果字符串之中包含空格或特殊字符,需要放在引号之中          str:‘内容:字符串‘      3.单引号和双引号都可以使用,双引号不会对特殊字符转义          s1:‘内容\n字符串‘          s2:"内容\n字符串"      4.单引号之中如果还有单引号,必须连续使用两个单引号转义          str:‘labor‘‘s day‘      5.字符串可以写成多行,从第二行开始,必须有一个单空格缩进。换行符会被转为空格。          str:这是一段           多行           字符串      6.多行字符串可以使用|保留换行符,也可以使用>折叠换行          this: |           Foo           Bar

          that: >           Foo           Bar      7.+表示保留文字块末尾的换行, -表示删除字符串末尾的换行          s1: |           Foo

          s2: |+           Foo                    s3: |-           Foo      8.字符串之中可以插入HTML标记          message: |           <p style="color: red"            段落           </p>

      9.引用        1.锚点&和别名*,可以用来引用          defaults: &defaults           adapter: postgres           host:   localhost

          development:           database: myapp_development           <<: *defaults

          # 等同于          defaults:           adapter: postgres           host:  localhost

          development:           database: myapp_development           adapter:  postgres           host:     localhost          2.&用来简历锚点(defaults),<<表示合并到当前数据,*用来引用锚点           -&showell Steve          -Clark          -Brian          -Oren          -*showell

pyyalm模块的使用

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

class UseYaml(object):

    def __init__(self, yaml_path):
        self.path = yaml_path

    def get_yaml(self):
        """
        解析YAML得到值的type是list或dict
        :return:
        """
        try:
            with open(self.path, ‘r‘) as file:
                return yaml.load(file)
        except FileNotFoundError as error:
            print(‘\033[1;31;0mThe FileNotFoundError is: {0}\033[0m‘.format(error))

原文地址:https://www.cnblogs.com/xiaoxiaolulu/p/8205382.html

时间: 2024-10-14 21:11:13

Python学习笔记之操作yalm的相关文章

python学习笔记文件操作(六)

1.文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 如下文件: 2017-03-24 11:25:06:349 - info: [debug] [AndroidBootstrap] Sending command to android: {"cmd":"shutdown"} 2017-03-24 11:25:06:355 - info: [debug] [AndroidBootstrap] Received command 

python学习笔记——列表操作

python列表操作--增 append:追加一条数据到列表的最后 name = ["Zhangsan","XiongDa","Lisi"] name.append("wangwu") print name 输出结果: ['Zhangsan', 'XiongDa', 'Lisi', 'wangwu'] insert:指定位置插入一条数据 name = ["Zhangsan","XiongDa&qu

Python学习笔记——文件操作

python中,一切皆对象.   一.文件操作流程 (1)打开文件,得到一个文件句柄(对象),赋给一个对象: (2)通过文件句柄对文件进行操作: (3)关闭文件. 文件对象f通过open()函数来创建. open函数常用的三个参数:文件路径/名称.模式.encoding. 1 f = open('测试文件','r',encoding='utf-8') 2 print(f.read()) 3 f.close() 二.open函数中模式参数的常用值 值 描述 'r' 读模式 'w' 写模式 'a'

python学习笔记-day7-【python操作数据库】

上次说到了Python操作数据库,这里继续补充python操作数据库,如何获取数据表里的所有字段值以及将数据导出来到excel里,作为excel表表头. 一.上次说到封装一下mysql的操作 1.装一下函数执行数据库操作 #封装一下函数执行数据库操作def my_db(host,user, passwd, db,sql, port=3306, charset='utf8'): import pymysql conn = pymysql.connect(user=user,host=host,po

Python学习笔记#列表操作常用的函数

列表操作常用的两类函数: 1. 添加元素: append extend insert append主要是在列表的尾部添加一个元素: a = [1,2,3,4,5] a.append(6) 将得到: a = [1, 2, 3, 4, 5, 6] extend主要是在列表的尾部添加一些元素,这些元素只能用列表的形式添加: 错误实例: >>> a.extend(6,7) Traceback (most recent call last): File "<pyshell#3>

OpenCV之Python学习笔记

OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书<OpenCV Computer Vision with Python>,于是就看一遍,顺便把自己掌握的东西整合一下,写成学习笔记了.更需要的朋友参考. 阅读须知: 本文不是纯粹的译文,只是比较贴近原文的笔记:         请设法购买到出版社出版的书,支持正版. 从书名就能看出来本书是介绍在Pytho

python学习笔记2—python文件类型、变量、数值、字符串、元组、列表、字典

python学习笔记2--python文件类型.变量.数值.字符串.元组.列表.字典 一.Python文件类型 1.源代码 python源代码文件以.py为扩展名,由pyton程序解释,不需要编译 [[email protected] day01]# vim 1.py #!/usr/bin/python        print 'hello world!' [[email protected] day01]# python 1.py hello world! 2.字节代码 Python源码文件

Python学习笔记--未经排版

Python 学习笔记 Python中如何做到Print() 不换行 答:Print("输出内容",end='不换行的分隔内容'),其中end=后面为2个单引号 注:在Python 2.x中,Print "输出内容", 即在输出内容后加一逗号 Python中 is 和 == 的区别 答:Python中的对象包含三要素:id.type.value 其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值 is判断的是a对象是否就是b对象,是通过id来

Python学习笔记_Python对象

Python学习笔记_Python对象 Python对象 标准类型 其他内建类型 类型对象和type类型对象 Python的Null对象None 标准类型操作符 对象值的比较 对象身份比较 布尔类型 标准类型的内建函数 typeObj cmpobj1 obj2 strobj reprobj typeobj isinstanceobj 标准类型的分类 存储模型 更新模型 访问模型 不支持的类型 Python学习笔记_Python对象 首先来理解一个通俗的含义,什么是对象?其实对象无论在什么语言里面