我为每个实例配置了以下YAML。
prod:
login: A
var1: VP1
var2: VP2
QA:
login: B
var1: QP1
var2: QP2
我想加载
如何有条件地将一块YAML加载到字典中?
下游代码是这样的
#bin/ksh
login = {login}
var1 = {var1}
var2 = {var2}
我希望根据环境在ksh脚本中解析这些值。
答案 0 :(得分:1)
只需加载整个文件,然后只抓取所需密钥下的内容。
with open('data.yml') as f:
d = yaml.load(f.read())
print yaml.dump(d['QA'])
类似的东西。
答案 1 :(得分:0)
import yaml
import socket
qa="172.27.139.94"
prod="172.27.139.95"
ip = socket.gethostbyname(socket.gethostname())
if ip == qa:
yml_dic = yaml.load(open('yamlconfig.yml', 'r'))["QA"]
elif ip == prod:
yml_dic = yaml.load(open('yamlconfig.yml', 'r'))["prod"]
print yml_dic