日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python3 读取配置文件中的参数值替换yaml文件中的占位符(变量)

發布時間:2025/1/21 python 71 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python3 读取配置文件中的参数值替换yaml文件中的占位符(变量) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

要替換內容的yaml文件:temp.yaml

也就是要將"$$PLACEHOLDER$$"進行替換。

--- applications: - name: $$NAME$$-$$DATETIME$$-$$VERSION$$memory: 2048minstances: 1disk_quota: 2048m ################## ==================================================env:APP_ID: "$$PLACEHOLDER$$"TABLE_KEY: "$$PLACEHOLDER$$"SECURITY: "$$PLACEHOLDER$$"KEY: "$$PLACEHOLDER$$"

參數值配置文件:env

APP_ID=11111111111 TABLE_KEY=22222222222 SECURITY=3333333333333 KEY=6777777777777

python代碼

import sys, os from contextlib import ExitStack profileList = {} def PropValue(envfile):with open(envfile) as profile:new_profile = profile.readlines()print(new_profile)for line in new_profile:line_key = line.strip().split("=", 1)[0];profileList[line_key] = line.strip().split("=", 1)[1] def EnvReplaceYaml(yamlfile, newyamlfile):try:with ExitStack() as stack:yml_file = stack.enter_context(open(yamlfile,'r+'))yml_output = stack.enter_context(open(newyamlfile,'w'))yml_file_lines = yml_file.readlines()for line in yml_file_lines:new_line = lineif (new_line.find('$$PLACEHOLDER$$') > 0):env_list = new_line.split(':')env_name = env_list[0].strip()replacement = ""if env_name in profileList.keys():replacement = profileList[env_name];new_line = new_line.replace('$$PLACEHOLDER$$', replacement)yml_output.write(new_line)except IOError as e:print("Error: " + format(str(e)))raiseif __name__ == "__main__":PropValue('env')EnvReplaceYaml('temp.yaml', 'newtemap.yaml')

運行結果

總結

以上是生活随笔為你收集整理的python3 读取配置文件中的参数值替换yaml文件中的占位符(变量)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。