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字符串格式化常用手段,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • python实现简单五子棋小游戏

    python实现简单五子棋小游戏

    这篇文章主要为大家详细介绍了python实现简单五子棋小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • Python操作MongoDb数据库流程详解

    Python操作MongoDb数据库流程详解

    这篇文章主要介绍了Python操作MongoDb数据库流程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Django框架多表查询实例分析

    Django框架多表查询实例分析

    这篇文章主要介绍了Django框架多表查询,结合实例形式分析了Django框架实现多表查询的外键、关联、前向查询、反向查询等相关操作技巧与注意事项,需要的朋友可以参考下
    2018-07-07
  • Python实现随机森林算法的示例代码

    Python实现随机森林算法的示例代码

    随机森林的英文是 Random Forest,英文简写是 RF,也是常用的人工智能算法,本文为大家介绍了Python实现随机森林算法的示例代码,希望对大家有所帮助
    2023-06-06
  • Python实现的根据文件名查找数据文件功能示例

    Python实现的根据文件名查找数据文件功能示例

    这篇文章主要介绍了Python实现的根据文件名查找数据文件功能,涉及Python针对文件与目录的遍历、查询等相关操作技巧,需要的朋友可以参考下
    2018-05-05
  • 详解python polyscope库的安装和例程

    详解python polyscope库的安装和例程

    这篇文章主要介绍了python polyscope库的安装和例程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • 用Python实现二叉树、二叉树非递归遍历及绘制的例子

    用Python实现二叉树、二叉树非递归遍历及绘制的例子

    今天小编就为大家分享一篇用Python实现二叉树、二叉树非递归遍历及绘制的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Django连接MQTT的示例代码

    Django连接MQTT的示例代码

    本文主要介绍了Django连接MQTT的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • WIn10+Anaconda环境下安装PyTorch(避坑指南)

    WIn10+Anaconda环境下安装PyTorch(避坑指南)

    这篇文章主要介绍了WIn10+Anaconda环境下安装PyTorch(避坑指南),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01

最新评论