41 lines
1.0 KiB
Python
41 lines
1.0 KiB
Python
|
import yaml
|
|||
|
import os
|
|||
|
|
|||
|
|
|||
|
# 单个文档
|
|||
|
def get_yaml_data(yaml_file):
|
|||
|
# 打开yaml文件
|
|||
|
file = open(yaml_file, 'r', encoding='utf-8')
|
|||
|
file_data = file.read()
|
|||
|
file.close()
|
|||
|
# 将字符串转化为字典或列表
|
|||
|
data = yaml.safe_load(file_data) # safe_load,safe_load,unsafe_load
|
|||
|
return data
|
|||
|
|
|||
|
|
|||
|
# yaml文件中含多个文档时,分别获取文档中数据
|
|||
|
def get_yaml_load_all(yaml_file):
|
|||
|
# 打开文件
|
|||
|
file = open(yaml_file, 'r', encoding='utf-8')
|
|||
|
file_data = file.read()
|
|||
|
file.close()
|
|||
|
|
|||
|
all_data = yaml.load_all(file_data, Loader=yaml.FullLoader)
|
|||
|
for data in all_data:
|
|||
|
print('data-----', data)
|
|||
|
|
|||
|
|
|||
|
# 生成yaml文档
|
|||
|
def generate_yaml_doc(yaml_file):
|
|||
|
py_ob = {"school": "zhang", "students": ['a', 'b']}
|
|||
|
file = open(yaml_file, 'w', encoding='utf-8')
|
|||
|
yaml.dump(py_ob, file)
|
|||
|
file.close()
|
|||
|
|
|||
|
|
|||
|
if __name__ == '__main__':
|
|||
|
current_path = os.path.abspath("../../")
|
|||
|
yaml_path = os.path.join(current_path, "config.yaml")
|
|||
|
print('--------------------', yaml_path)
|
|||
|
get_yaml_data(yaml_path)
|