我有一個下面的yml檔案 samplelambda1.yml
Mappings:
環境:
dev:
DefaultLambdaConcurrency: '10'/span>
測驗:
DefaultLambdaConcurrency: '10'
分期付款:
DefaultLambdaConcurrency: '10'
生產:
DefaultLambdaConcurrency: '10'
我有多個檔案,如 samplelambda2,3,4....30
我需要在python腳本的幫助下為所有的yml檔案添加另一個映射,我們如何做到這一點?我試著用字串替換,但要打開一個檔案并替換多行,這是一個復雜的操作。
production-new:
DefaultLambdaConcurrency。'10': DefaultLambdaConcurrency.
uj5u.com熱心網友回復:
這個問題沒有顯示出任何努力(無意冒犯,但OP應該嘗試他的方法,并在他被卡住的地方發帖),所以這里只是提示。
import os
for filename in os.listdir(directory) 。
//使用這個讀取每個YAML:https://stackoverflow.com/a/1774043/5353128。
//在讀取的YAML dict中添加你的鍵值。
//使用yaml.dump()將內容存回檔案。
uj5u.com熱心網友回復:
你可以用pyyaml在python中處理yaml檔案。要添加到現有的yaml中,你可以做一些事情:
import yaml
with open("file_append.yaml"/span>, "r"/span>) as fs:
append_dict = yaml.load(fs, Loader=yaml.SafeLoader)
append_to = ["file_1.yaml"]
for file_name in append_to:
with open(file_name, "r") as fs:
target_dict = yaml.load(fs, Loader=yaml.SafeLoader)
target_dict["Mappings"]["Environments"] = {**target_dict["Mappings"]["Environments"], **append_dict }
with open(file_name, "w") as fs:
yaml.dump(target_dict, fs)
輸出:
Mappings:
環境:
dev:
DefaultLambdaConcurrency: '10'/span>
生產:
DefaultLambdaConcurrency: '10'
生產-新:
DefaultLambdaConcurrency: '10'
分期付款:
DefaultLambdaConcurrency: '10'
測驗:
DefaultLambdaConcurrency: '10'
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/306628.html
標籤:
上一篇:在Java中向一個集合添加整數值
