python pyyaml 3.12版本模块给出了意外的输出

python pyyaml 3.12版本模块给出了意外的输出,python,python-3.x,Python,Python 3.x,我正在尝试从yaml文件生成值并替换。但是YAML3.12版本给了我错误的格式。我无法下载最新版本的pyyaml。这是公司限制。因此,我只想获得yaml 3.12版本的预期输出。请帮忙 代码如下: import yaml print (yaml.__version__) import sys file_name = sys.argv[1] variables = open(file_name) variables_list = yaml.load(variables, Loader=yaml

我正在尝试从yaml文件生成值并替换。但是YAML3.12版本给了我错误的格式。我无法下载最新版本的pyyaml。这是公司限制。因此,我只想获得yaml 3.12版本的预期输出。请帮忙

代码如下:

import yaml
print (yaml.__version__)
import sys

file_name = sys.argv[1]

variables = open(file_name)
variables_list = yaml.load(variables, Loader=yaml.Loader)
#print(variables_list)

values = open('values.yaml')
values_list = yaml.load(values, Loader=yaml.Loader)
#print(values_list)

for k,v in values_list.items():
    #print (k,v)
    if values_list[k] == None:
        try : values_list [k] = variables_list[k]
        except  KeyError  : pass
    
print (yaml.dump(values_list))
输出:

 /usr/local/bin/python3 /Users/mbhamidipati/Downloads/yamlscript.py kong_hydra_refresh_dev1_westus2_cp5_azure.yaml


3.12
{adminAccessLog: /dev/stdout, adminApiUri: manager-api.azcp.horizon.com, adminErrorLog: /dev/stderr,
  adminGuiUrl: kong-manager.azcp.horizon.com, environmentName: dev1-westus2,
  imageName: hydraazuredev.azurecr.io/horizon-kong/topic, imageTag: 2.3.3.0-centos-16,
  istioGWName: cp5-gateway, kongApi: kong-api.azcp.horizon.com, namespace: cp5,
  portalApiUrl: kong-portal-api-cp5.azcp.horizon.com, portalGuiUrl: kong-portal-gui-cp5.azcp.horizon.com,
  protocol: 'https://', proxyErrorLog: /dev/stderr, replicas: '3'}
预期产出:

adminAccessLog: /dev/stdout
adminApiUri: manager-api.azcp.horizon.com
adminErrorLog: /dev/com
adminGuiUrl: kong-manager.azcp.horizon.com
environmentName: dev1-westus2
imageName: hydraazuredev.azurecr.io/horizon-kong/topic
imageTag: 2.3.3.0-centos-16
istioGWName: cp5-gateway
kongApi: kong-api.azcp.horizon.com
namespace: cp5
portalApiUrl: kong-portal-api-cp5.azcp.horizon.com
portalGuiUrl: kong-portal-gui-cp5.azcp.horizon.com
protocol: https://
proxyErrorLog: /dev/com
replicas: '3'

下面的url地址是您的查询@Ranga非常感谢,default\u flow\u style=False修复了这个问题