系统:Windows 10
编辑器:JetBrains PyCharm Community Edition 2018.2.2 x64
Part 1:场景描述
- 这个系列讲讲对ini配置文件的操作
- 今天讲讲读操作
- 遇到一个这样的情况,需要访问一个信息,在开发环境和生产环境会不同,例如IP信息。其中的一个解决方案就是将这些信息写在配置文件中,如ini文件
- 当然这部分信息也可以存储在数据库中,对于比较简单的信息,ini文件更加简单
- .ini文件是Initialization File缩写。其实就是一个格式为ini的文本文件。Pycharm中可以安装插件方便可视化展示
ini文件
import os
import configparser
current_path = os.path.dirname(os.path.abspath(__file__))
init_file_address = os.path.join(current_path, 'configuration.ini')
conf = configparser.ConfigParser()
conf.read(init_file_address, encoding='utf-8')
result1 = conf.get('connect_info', 'host')
print('result1=', result1)
result2 = conf.get('address_info', 'address')
print('result2=', result2)
result3 = conf.get('test3', 'host')
print('result3=', result3)
代码截图
执行结果
- current_path = os.path.dirname(os.path.abspath(__file__))获取当前py文件所在绝对地址
- init_file_address = os.path.join(current_path, 'configuration.ini'),获取ini文件的绝对地址
- conf = configparser.ConfigParser()定义一个解析ini文件的ConfigParser对象
- conf.read(init_file_address, encoding='utf-8')采用utf-8方式解析文件
- result1 = conf.get('connect_info', 'host')获取[connect_info]下的host值
- 其中[connect_info]称为section
- 其中host称为option
- 其实一个ini文件有点像由多个字典构成,每个section就是一个独立的字典,option有点像字典的键,通过get获取字典对应键的值
- result2 = conf.get('address_info', 'address')返回的是广东,而不是广西,因为在ini文件中,#表示注释的意思
本文为原创作品,欢迎分享朋友圈
长按图片识别二维码,关注本公众号
Python 优雅 帅气



