随笔- 807  文章- 150  评论- 23  阅读- 151万 

 


一、ConfigParser 调用配置文件中的变量

例子:

test.cnf

[clickhouse]

db_name=mydb

[sql]

ck1 = select * from ${clickhouse:db}.test_table limit 10

从例子中可以看到ConfigParser模块支持在配置文件中调用设置好的变量值,

通过${section:key} 来完成

二、ConfigParser 调用其他文件带${section:key} 的处理,$$ 转义

需要特例文件中的内容替换模板文件的内容

1、模板文件

test.cnf

[clickhouse]

db_name=mydb

[sql]

ck1 = select * from ${clickhouse:db}.test_table limit 10

2、特例文件

test2.cnf

[sql]

ck1 = insert into ${clickhouse:db}.test_table1 select * from ${clickhouse:db}.test_table limit 10

3、在使用ConfigParser 解析test2.cnf时出错

由于test2.cnf没有定义

[clickhouse]

db_name=mydb

会报错,如下示例:

 

 4、解决方法

文件中使用 $$ 两个$ 来做转义

test2.cnf

[sql]

ck1 = insert into $${clickhouse:db}.test_table1 select * from $${clickhouse:db}.test_table limit 10

官网连接:

https://pypi.org/project/configparser/

 

 posted on   xibuhaohao  阅读(171)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示