yaml中的重写变量

yaml中的重写变量,yaml,Yaml,我有一个如下所示的yml配置文件: default: &default aws_access_key: <%= ENV['AWS_ACCESS_KEY'] %> aws_secret_key: <%= ENV['AWS_SECRET_KEY'] %> region: <%= ENV['AWS_REGION'] %> aws_s3_bucket: <%= ENV['AWS_S3_BUCKET'] %> aws_s3_hos

我有一个如下所示的yml配置文件:

default: &default
  aws_access_key: <%= ENV['AWS_ACCESS_KEY'] %>
  aws_secret_key: <%= ENV['AWS_SECRET_KEY'] %>
  region: <%= ENV['AWS_REGION'] %>
  aws_s3_bucket: <%= ENV['AWS_S3_BUCKET'] %>
  aws_s3_host: "https://s3-eu-west-1.amazonaws.com/"

development:
  <<: *default
default:&default
aws\u访问\u密钥:
aws_密钥:
地区:
aws_s3_铲斗:
aws_s3_主机:https://s3-eu-west-1.amazonaws.com/"
发展:

如果您可以使用python,这非常简单:

import yaml

# read your first file
with open("basefile.yaml", 'r') as f:
    conf = yaml.load(f)

# read your second file
with open("devfile.yaml", 'r') as f:
    devconf = yaml.load(f)

# update the first dictionnary with the values of the second
conf.update(devconf)

# write it in a new file
with open("result.yaml", 'w+') as f:
    yaml.dump(conf, f)