python中創(chuàng)建和修改yaml文件的方法
python中如何創(chuàng)建和修改yaml文件
1、創(chuàng)建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")
# 寫入到y(tǒng)aml文件
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)補(bǔ)充:
python如何修改yaml文件
YAML簡介
YAML 是 "YAML Ain’t a Markup Language"的遞歸縮寫。開發(fā)的這種語言時(shí)其意思其實(shí)是:“Yet Another Markup Language”。yaml簡潔美觀,是一種常用的標(biāo)記語言,可以用來表達(dá)多種數(shù)據(jù)結(jié)構(gòu)和配置文件。
那么如何創(chuàng)建和修改yaml語言呢
YAML修改
1.首先需要安裝工具包ruamel.yaml
pip install ruamel.yaml
2.然后讀取yaml文件進(jìn)行修改。
下面給出一個(gè)例子:對dependencies中的每一個(gè)字符串成員,刪除最后一個(gè)等號(hào)及其后面的內(nèi)容
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]
# 刪除最后一個(gè)等號(hào)及其后面的內(nèi)容
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)修改前:

修改后:

到此這篇關(guān)于python中如何創(chuàng)建和修改yaml文件的文章就介紹到這了,更多相關(guān)python創(chuàng)建yaml文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)單鏈表中元素的反轉(zhuǎn)
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)單鏈表中元素的反轉(zhuǎn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05
Python統(tǒng)計(jì)詞頻并繪制圖片(附完整代碼)
這篇文章主要介紹了Python統(tǒng)計(jì)詞頻并繪制圖片(附完整代碼)本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08
Python寫一個(gè)簡單的api接口的實(shí)現(xiàn)
本文主要介紹了Python寫一個(gè)簡單的api接口的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
Python實(shí)現(xiàn)bilibili時(shí)間長度查詢的示例代碼
這篇文章主要介紹了Python實(shí)現(xiàn)bilibili時(shí)間長度查詢的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01
python面向?qū)ο骭詳談?lì)惖睦^承與方法的重載
下面小編就為大家?guī)硪黄猵ython面向?qū)ο骭詳談?lì)惖睦^承與方法的重載。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06
深入淺析Python科學(xué)計(jì)算庫Scipy及安裝步驟
這篇文章主要介紹了Python科學(xué)計(jì)算庫—Scipy的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10

