yaml
yaml 是专门用来写配置文件的语言
pip install pyyaml
# 通过pip安装
# 用vim新建一个test1.yaml文件,内容如下
NAME: zhangchen # 大小写敏感
name: ZhangChen # 大小写敏感
DATA:
YEAR: 2019 # 使用缩进表示层级关系
MONTH: 3 # 缩进时不允许使用Tab键,只允许使用空格
DAY: 9 # 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
# 用vim新建一个test2.yaml文件,内容如下
- A
- B
- C
- NAME: zhangchen
- name: ZhangChen
- DATA:
YEAR: 2019
MONTH: 3
DAY: 9
# test.py内容如下
import yaml
f1 = open("test1.yaml", "r")
y1 = yaml.load(f1)
f2 = open("test2.yaml", "r")
y2 = yaml.load(f2)
print(y1)
print(y2)
# 执行test.py,打印结果如下
{'DATA': {'YEAR': 2019, 'DAY': 9, 'MONTH': 3}, 'NAME': 'zhangchen', 'name': 'ZhangChen'}
# 可见test1.yaml中格式yaml.load返回的类型是一个字典
['A', 'B', 'C', {'NAME': 'zhangchen'}, {'name': 'ZhangChen'}, {'DATA': {'YEAR': 2019, 'DAY': 9, 'MONTH': 3}}]
# 可见test2.yaml中格式yaml.load返回的类型是一个列表
# 将test1.yaml改成如下内容
NAME: zhangchen
---
name: ZhangChen
---
DATA:
YEAR: 2019
MONTH: 3
DAY: 9
# 将test.py改成如下内容
import yaml
f1 = open("test1.yaml", "r")
y1 = yaml.load_all(f1)
f2 = open("test2.yaml", "r")
y2 = yaml.load(f2)
for data in y1:
print(data)
print(y2)
# 执行test.py,打印结果如下
{'NAME': 'zhangchen'}
{'name': 'ZhangChen'}
{'DATA': {'YEAR': 2019, 'DAY': 9, 'MONTH': 3}}
['A', 'B', 'C', {'NAME': 'zhangchen'}, {'name': 'ZhangChen'}, {'DATA': {'YEAR': 2019, 'DAY': 9, 'MONTH': 3}}]
# 可见load_all的作用
yaml.dump(a, b)
# 功能:将一个python对象生成为yaml文档
# 使用方法:两个参数
# 第一个参数:a是字典或列表
# 第二个参数:b是一个打开的文本文件或二进制文件,yaml.dump会把生成的yaml文档写到文件里
pprint
pprint是python的自带标准库,一般不需要额外安装。用pip安装会提示已经存在。
pprint的作用主要是将列表、元组、字典等按易于阅读又符合python语法规则的形式打印或保存。
import pprint
data = [(1,2,3,4,5,6,7),{1:"a",2:"b",3:"c"},{4:["D","E"],5:"F",6:["G","H","I","J"],7:"K"}]
pprint.pprint(data)
# 终端打印结果如下
[(1, 2, 3, 4, 5, 6, 7),
{1: 'a', 2: 'b', 3: 'c'},
{4: ['D', 'E'], 5: 'F', 6: ['G', 'H', 'I', 'J'], 7: 'K'}]
# 可见pprint.pprint()是将列表、元组、字典等按易于阅读又符合python语法规则的形式打印
import pprint
data = [(1,2,3,4,5,6,7),{1:"a",2:"b",3:"c"},{4:["D","E"],5:"F",6:["G","H","I","J"],7:"K"}]
pprint.pformat(data)
# 终端打印结果如下
"[(1, 2, 3, 4, 5, 6, 7),\n {1: 'a', 2: 'b', 3: 'c'},\n {4: ['D', 'E'], 5: 'F', 6: ['G', 'H', 'I', 'J'], 7: 'K'}]"
# 可见pprint.pformat()是将列表、元组、字典等按易于阅读又符合python语法规则的形式保存成字符串
import pprint
data = [(1,2,3,4,5,6,7),{1:"a",2:"b",3:"c"},{4:["D","E"],5:"F",6:["G","H","I","J"],7:"K"}]
result=pprint.pformat(data)
for each in result.split("\n"):
print(each)
# 终端打印结果如下
[(1, 2, 3, 4, 5, 6, 7),
{1: 'a', 2: 'b', 3: 'c'},
{4: ['D', 'E'], 5: 'F', 6: ['G', 'H', 'I', 'J'], 7: 'K'}]
结语
如果您有修改意见或问题,欢迎留言或者通过邮箱和我联系。
手打很辛苦,如果我的文章对您有帮助,转载请注明出处。