解决yaml解析双感叹号

ds3: !!io.sphere.core.config.Configuration
  dataSourceClassName: com.zaxxer.hikari.HikariDataSource
  properties:
    originPoolType: null
    idleTimeout: 60000
    maxLifetime: 1800000
    maximumPoolSize: 50

今天做做yaml解析(字符串转python对象,也就是字典)的时候,上面的字符串总是报错,解析不了双感叹号
网上也查了下

conda update conda
conda update anaconda-navigator
conda update navigator-updater

说升级一下conda就可以了,可是我觉得PyYaml包处理这点问题不是小意思么!
后来我发现,ds3: 后面的双感叹号,其实应该是注释一类的东西吧,我猜测,这个还要跟数据源开发同事确认一下
我处理的方案是,把“!!” 变成“#”(#是注释的意思),这样解析就没有问题了

import yaml
a = """
ds3: !!io.sphere.core.config.Configuration
      dataSourceClassName: com.zaxxer.hikari.HikariDataSource
      properties:
        originPoolType: null
        idleTimeout: 60000
        maxLifetime: 1800000
        maximumPoolSize: 50
"""
data = data.replace("!!", "#")
yaml.load(data, Loader=yaml.FullLoader)

{
	'ds3': {
		'properties': {
			'maximumPoolSize': 50,
			'idleTimeout': 60000,
			'maxLifetime': 1800000,
			'originPoolType': None
		},
		'dataSourceClassName': 'com.zaxxer.hikari.HikariDataSource'
	}
}
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值