Python 读写 ini 配置文件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/apollo_miracle/article/details/88842676

1 前言

使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂,在 python 里更是如此,在官方发布的库中就包含有做这件事情的库,那就是 configParser

configParser 解析的配置文件的格式比较象 ini 的配置文件格式,就是文件中由多个 section 构成,每个 section 下又有多个配置项

2 ini

ini 配置文件格式

;这里是注释

[section0]

key0 = value0
key1 = value1

[section1]

key2 = value2
key3 = value3

注:section 不能重复,里面数据通过 section 去查找,每个 seletion 下可以有多个 key 和 vlaue 的键值对,注释用英文分号 (;)

3 configparser

  • python3 里面自带 configparser 模块来读取 ini 文件
# python3
import configParser

注意:python2 的版本是 Configparser

# python2
import ConfigParser
  • 在 pycharm 里面,新建一个 ini 文件
  • 注释里面有中文的话,这里代码跟 python2 是有点区别的,python2 里面直接 conf.read(cfgpath) 就可以了,python3 需要加个参数:encoding=“utf-8”

注意:如果 ini 文件里面写的是数字,读出来默认是字符串

4 参考代码

import configparser
import os

# 当前文件路径
curpath = os.path.dirname(os.path.realpath(__file__))
# cfg.ini的路径
cfgpath = os.path.join(curpath, "cfg.ini")
print("cfg.ini的路径:", cfgpath)

# 创建管理对象
conf = configparser.ConfigParser()

# 读ini文件
conf.read(cfgpath, encoding="utf-8")  # python3
# conf.read(cfgpath)  # python2

# 获取所有的section
sections = conf.sections()
print(sections)  # 返回list

# 获取email_163 的 section
email_163 = conf.items('email_163')
print(email_163)  # list里面对象是元祖

运行结果:

cfg.ini的路径: E:\AI\RPA\cfg.ini
['email_qq', 'email_163']
[('sender', '[email protected]'), ('pwd', '87654321'), ('port', '465'), ('smtp_server', 'stmp.163.com'), ('receiver', '[email protected]')]

猜你喜欢

转载自blog.csdn.net/apollo_miracle/article/details/88842676