Python 学习日知录(五)- 配置文件之二

python 专栏收录该内容
10 篇文章 0 订阅

Python 学习日知录(五)- 配置文件之二

除了基础的section和option外,配置文件还提供了高级一些的用法。

先看一下如下的配置文件:

###############cfg.ini#################
[DEFAULT]
dir = c:/my_app

[basic_config]
temp_dir = %(dir)s/basic_config/

[env_cache]
temp_dir = %(dir)s/env_cache/
###############EOF#####################

运行下面一段代码,打印所有键值对,看看是什么结果:

# -*- coding:utf8 -*-

import ConfigParser  # 载入模块

cp = ConfigParser.ConfigParser()
cp.read('mc_cfg.ini')  # 载入配置文件

for sections in cp.sections():  # section 循环
    print '[ %s ]' % sections  # 打印section名字
    for options in cp.options(sections):  # option 循环
        print '%s = %s' % (options, cp.get(sections, options))  # 打印该section下的所有option键值对
    print '\n'  # 每个section之间空行

运行结果如下:

[ basic_config ]
temp_dir = c:/my_app/basic_config/
dir = c:/my_app

[ env_cache ]
temp_dir = c:/my_app/env_cache/
dir = c:/my_app

可以看到,名字叫DEFAULT的section并没有被打印出来,而其下的option却出现在了其他所有的section下。

[DEFAULT] 字段

这个section下的option相当于定义了一个全局配置,对于其他所有的section都有效。

  • DEFAULT是大小写敏感的
  • 如果其他section有同名的option,则会覆盖全局的定义

内插(interpolation)

注意上面cfg.ini 文件里的

temp_dir = %(dir)s/basic_config/

打印出来的值为:

c:/my_app/basic_config/

原来其中的%(dir)s被同一个section中或全局的dir值代替了,这样就很方便的实现了在全局配置的基础上生成各自局部配置的功能。


参考文献:
1. ConfigParser — Configuration file parser

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

秋田小鼠

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值