python中创建和修改yaml文件的方法

 更新时间:2023年11月01日 09:37:41   作者:程序员阿明  
YAML 是 "YAML Ain’t a Markup Language"的递归缩写,yaml简洁美观,是一种常用的标记语言,可以用来表达多种数据结构和配置文件,本文给大家介绍python中如何创建和修改yaml文件,感兴趣的朋友一起看看吧

python中如何创建和修改yaml文件

1、创建yaml

import os
import yaml
desired_caps = {
                'train': 'dataTrain/2007_train.txt',
                'val': 'dataTrain/2007_val.txt',
                'nc': 2,
                'names': ['a','b']
                }
curpath = os.path.dirname(os.path.realpath(__file__))
yamlpath = os.path.join(curpath, "./yamlFile/caps.yaml")
# 写入到yaml文件
with open(yamlpath, "w", encoding="utf-8") as f:
    yaml.dump(desired_caps, f)

2、修改yaml文件

import os
import yaml
def set_state(state):
    file_name = "./yamlFile/bottlemldel.yaml"
    with open(file_name) as f:
        doc = yaml.safe_load(f)
    doc['nc'] = state
    with open(file_name, 'w') as f:
        yaml.safe_dump(doc, f, default_flow_style=False)
set_state(8)

补充:

python如何修改yaml文件

YAML简介

YAML 是 "YAML Ain’t a Markup Language"的递归缩写。开发的这种语言时其意思其实是:“Yet Another Markup Language”。yaml简洁美观,是一种常用的标记语言,可以用来表达多种数据结构和配置文件。

那么如何创建和修改yaml语言呢

YAML修改

1.首先需要安装工具包ruamel.yaml

pip install ruamel.yaml

2.然后读取yaml文件进行修改。

下面给出一个例子:对dependencies中的每一个字符串成员,删除最后一个等号及其后面的内容

from ruamel.yaml import YAML
yaml = YAML()
# 读取yaml文件
with open("environment.yaml", "r", encoding='utf-8') as file:
    data = yaml.load(file)
# 修改yaml文件
datas = data["dependencies"]
for index in range(len(datas)):
    curStr = datas[index]
    # 删除最后一个等号及其后面的内容
    if isinstance(curStr, str) and curStr.count("=") > 1:
        # 从右边开始以"="为分界分割一次
        strs = datas[index].rsplit("=", 1)
        datas[index] = strs[0]
        print(datas[index])
# 保存yaml文件
with open("environment.yaml", "w", encoding='utf-8') as file:
    yaml.dump(data, file)

修改前:

修改后:

到此这篇关于python中如何创建和修改yaml文件的文章就介绍到这了,更多相关python创建yaml文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python爬虫部分开篇概念讲解

    Python爬虫部分开篇概念讲解

    在学习Python爬虫部分,需要已经学过Python基础和前端的相关知识,本文对python爬虫概念及原理给大家详细介绍,需要的朋友跟随小编一起看看吧
    2021-04-04
  • 解决pandas read_csv 读取中文列标题文件报错的问题

    解决pandas read_csv 读取中文列标题文件报错的问题

    今天小编就为大家分享一篇解决pandas read_csv 读取中文列标题文件报错的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Python使用protobuf序列化和反序列化的实现

    Python使用protobuf序列化和反序列化的实现

    protobuf是一种二进制的序列化格式,相对于json来说体积更小,传输更快,本文主要介绍了Python使用protobuf序列化和反序列化的实现,感兴趣的可以了解一下
    2021-05-05
  • python编写接口测试文档(以豆瓣搜索为例)

    python编写接口测试文档(以豆瓣搜索为例)

    接口测试的方式有很多,比如可以用工具(jmeter,postman)之类,也可以自己写代码进行接口测试,这篇文章主要给大家介绍了关于python编写接口测试文档,本文以豆瓣搜索功能为例,需要的朋友可以参考下
    2021-07-07
  • 利用Django-environ如何区分不同环境

    利用Django-environ如何区分不同环境

    这篇文章主要给大家介绍了关于利用Django-environ如何区分不同环境的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用django具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-08-08
  • 详解使用pymysql在python中对mysql的增删改查操作(综合)

    详解使用pymysql在python中对mysql的增删改查操作(综合)

    本篇文章主要介绍了使用pymysql在python中对mysql的增删改查操作,通过pymysql向数据库进行查删增改,具有一定的参考价值,有兴趣的可以了解一下。
    2017-01-01
  • Python字符与ASCII码相互转换方法

    Python字符与ASCII码相互转换方法

    在做python编程时,碰到了需要将字母转换成ascii码的需求,所以下面这篇文章主要给大家介绍了关于Python字符与ASCII码相互转换的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • Python xlrd excel文件操作代码实例

    Python xlrd excel文件操作代码实例

    这篇文章主要介绍了Python xlrd excel文件操作代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • python实现扫雷游戏

    python实现扫雷游戏

    这篇文章主要为大家详细介绍了python实现扫雷游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • python os.stat()如何获取相关文件的系统状态信息

    python os.stat()如何获取相关文件的系统状态信息

    这篇文章主要介绍了python os.stat()如何获取相关文件的系统状态信息,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11

最新评论