python将字典对象保存转化为yaml格式文件

python将字典对象保存转化为yaml格式文件

yaml.dump() 函数

yaml.dump() 函数是将 Python 对象转换为 YAML 格式的字符串的函数。下面是该函数的参数作用详细介绍:
1. data :需要转换为 YAML 格式的 Python 对象。
2. stream :指定输出的文件对象。默认情况下,输出到标准输出。
3. Dumper :指定使用的 Dumper 类型。默认情况下,使用 SafeDumper 。
4. allow_unicode :如果为 True ,则允许使用 Unicode 字符。默认为 False 。
5. default_flow_style :如果为 True ,则使用流样式输出。如果为 False ,则使用块样式输出。默认为 True 。
6. explicit_start :如果为 True ,则在输出中包含显式的文档开始标记。默认为 False 。
7. explicit_end :如果为 True ,则在输出中包含显式的文档结束标记。默认为 False 。
8. version :指定输出的 YAML 版本。默认为 None 。
9. tags :指定要使用的标签。默认为 None 。
10. sort_keys :如果为 True ,则按键排序输出。默认为 False 。
11. default_style :参数用于指定输出的 YAML 字符串的默认样式。
下面是 default_style 可以接受的值以及它们的含义:
- ‘’ 或 None :使用流样式输出。这是默认值。
- ‘|’ :使用竖线样式输出,保留换行符。
- ‘>’ :使用折叠样式输出,将换行符替换为空格。
- ‘+’ :使用 JSON 样式输出。
- ‘&’ :使用别名样式输出。
- ‘*’ :使用别名样式输出。

import os
import yaml


def save_dict_to_yaml(dict_value: dict, save_path: str):
    """
    dict保存为yaml
    
    """

    save_path = os.path.join(os.getcwd(), save_path)  # Define save path with specific file path and name
    try:
        directory = os.path.dirname(save_path)
        if not os.path.exists(directory):
            os.makedirs(directory)
        with open(save_path, 'w+') as file:
            # Add input validation to ensure only trusted data is being passed to yaml.dump
            if isinstance(dict_value, dict):
                yam_str = yaml.dump(dict_value, default_style='+', default_flow_style=False, allow_unicode=True, explicit_start=True, explicit_end=True, sort_keys=True)
                print(yam_str)
                file.write(yam_str)
            else:
                print("Error: dict_value must be a dictionary")

    except Exception as e:
        print(f"Error: {e}")  # Add error handling to gracefully handle any errors that occur and provide useful feedback to the user


def read_yaml_to_dict(yaml_path: str, ):
    with open(yaml_path) as file:
        dict_value = yaml.load(file.read(), Loader=yaml.FullLoader)
        return dict_value
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Pythonyaml文件格式是一种用于序列化和反序列化数据的文件格式。YAML是一种人类可读的数据序列化格式,它使用简洁的语法来表示数据结构。YAML文件可以包含各种数据类型,包括字符串、数字、布尔值、列表和字典等。在Python中,可以使用yaml模块来读取和保存yaml文件。通过导入yaml模块,可以使用官方的导入方法来兼容Windows和Linux平台。使用yaml模块的load函数可以读取yaml文件的内容,并将其转换为Python对象。例如,可以使用以下代码读取一个yaml文件并打印其内容: ```python import yaml with open("test.yaml", "r") as yaml_file: data = yaml.load(yaml_file) print("data_type:", type(data)) print("data_content:\n", data) ``` 这段代码使用了yaml模块的load函数来读取test.yaml文件的内容,并将其转换为Python对象。然后,可以通过打印data的类型和内容来查看读取到的数据。 #### 引用[.reference_title] - *1* [yaml——python数据序列化文件格式解析包的介绍和使用](https://blog.csdn.net/ZH13114130815/article/details/126930216)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [python基础——python解析yaml类型文件](https://blog.csdn.net/weixin_54696666/article/details/115034027)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值