欢迎访问我的网站,希望内容对您有用,感兴趣的可以加入免费知识星球。

Python实用模块(三)pyyaml

实用模块 迷途小书童 4年前 (2019-12-03) 3064次浏览 0个评论

软硬件环境

  • ubuntu 18.04 64bit
  • anaconda with python 3.6
  • pyyaml

pyyaml

YAML(Yet Another Markup Language)是一种标记语言,类似XML,用于项目配置文件的书写。它语法简单,大小写敏感,使用缩进表示层级关系,可以在配置中穿插注释(这点完胜json)。

YAML中的数据结构

  • 对象

    键值对的集合,又称映射、哈希

  • 数组

    一组按顺序排列的值,又称列表,是由一组连词线(-)开头的行

  • 纯量

    单个的、不可再分的值,如字符串、布尔值、整数等

安装pyyaml

pip install pyyaml

示例配置文件test.yaml

PROJECT:
    MYSQL:
        ip: 127.0.0.1
        port: 3306
        user: xgx
        password: xgx
        database: far
        tablename: attendance
        encoding: utf8

    NTP:
        ip: 127.0.0.1
        port: 123
import yaml

f = open('test.yaml', encoding = 'utf-8')

# 读取用load,保存用dump
conf = yaml.load(f)

print(type(conf))
print(conf['PROJECT'])
print(conf['PROJECT']['NTP']['ip'])

程序输出如下

<class 'dict'>
{'MYSQL': {'ip': '127.0.0.1', 'port': 3306, 'user': 'xgx', 'password': 'xgx', 'database': 'far', 'tablename': 'attendance', 'encoding': 'utf8'}, 'NTP': {'ip': '127.0.0.1', 'port': 123}}
127.0.0.1

参考资料

喜欢 (0)

您必须 登录 才能发表评论!

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

请关闭 Adblock 等类似浏览器插件,然后刷新页面访问,感谢您的支持!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.