Python 之PyYAML模块

1、安装模块:PyYAML

2、语法:

下载地址:http://pyyaml.org/download/pyyaml/PyYAML-3.12.tar.gz

   官网: http://www.yaml.org

已有配置文件config.yaml:

# 配置文件config.yaml
cache:
  - {ip: 'localhost', port: 26379}

database:
  url: 'mysql+mysqlconnector://xinxin:123456@localhost/test'

connection:
  glados: 'mongodb://xinxin#123456@127.0.0.1/test'

读取文件内容如下:

{'database': {'url': 'mysql+mysqlconnector://xinxin:123456@localhost/test'}, 'cache': [{'ip': 'localhost', 'port': 26379}], 'safety': {'secret': 'asingo5l86jigncu', 'white_list': ['127.0.0.1', '::1', '119.168.1.101', '119.168.1.102', '119.168.1.103']}, 'connection': {'glados': 'mongodb://xinxin#123456@127.0.0.1/test'}}

读取:

# -*- coding: utf-8 -*-
import yaml   # 导入模块
import os


config_path = 'E:/xinxin/learn_python'
config = yaml.load(open(os.path.join(config_path, 'config.yaml'), encoding='utf8'))  # 加载文件
print(config)   # 读取文件所有内容
print(config['cache'])  # 获取cache
print(config['database'])  # 获取database
print(config['database']['url'])  # 获取databese的url

运行结果:

[{'port': 26379, 'ip': 'localhost'}]
{'url': 'mysql+mysqlconnector://xinxin:123456@localhost/test'}
mysql+mysqlconnector://xinxin:123456@localhost/test

写入:

# -*- coding: utf-8 -*-
import yaml   # 导入模块
import os

config_path = 'E:/xinxin/learn_python'
f = open(os.path.join(config_path, 'config.yaml'), 'w', encoding='utf8')  # r, w, a 分别是读,写,追加模式
print(f)
data = {'safety': {'white_list': ['127.0.0.1', '::1', '192.168.1.101', '192.168.1.102', '192.168.1.103'], 'secret': 'asingo5l86jigncu'}}
yaml.dump(data, f)
f.close()

运行结果:

safety:
  secret: asingo5l86jigncu
  white_list: [127.0.0.1, '::1', 192.168.1.101, 192.168.1.102, 192.168.1.103]

 

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/xxWang/blog/701122

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值