python读取ini和config配置文件

python项目可以使用ini文件或者config文件做配置文件,并提供了configparser.ConfigParser来读取ini, ini配置文件以.ini结尾,config文件以.config结尾,他们的配置方式相同,本文以ini文件量讲解读取方法。下面是一份ini配置实例文件

[mysql]
host=127.0.0.1
port=3306
user=root
password=yourpassword
dbname=test


[redis]
host=127.0.0.1
port=6379
password=88888
db=0

配置文件由两部分组成sections与items
,sections 用来区分不同的配置块,items 是sections下面的键值。

python3中提供了标准模块configparser,该模块下有一个ConfigParser类,可以用来解析ini文件

from configparser import ConfigParser


cf = ConfigParser()
cf.read('db.ini')

print(cf.sections())        # ['mysql', 'redis']
print(cf.options('mysql'))  # 输出mysql下的所有配置项
print(cf.items('mysql'))    # 输出mysql下的所有键值对

print(cf.get('mysql', 'host'))  # 输出mysql 下配置项host的值
print(cf.getint('mysql', 'port'))  # 输出port

程序输出结果

['mysql', 'redis']
['host', 'port', 'user', 'password', 'dbname']
[('host', '127.0.0.1'), ('port', '3306'), ('user', 'root'), ('password', 'yourpassword'), ('dbname', 'test')]
127.0.0.1
3306

ConfigParser的get方法可以根据section和option获取配置的值,这个方法返回的是字符串,此外还提供了getint和getfloat方法,分别获取int类型和float类型的配置项,如果你嫌麻烦,可以统一使用get方法。

ConfigParser 也可以用来设置配置项,它提供了add_section方法和set方法,但实际工作中都是手动配置ini文件,因此这部分内容你可以不必关心。

扫描关注, 与我技术互动

QQ交流群: 211426309

加入知识星球, 每天收获更多精彩内容

分享日常研究的python技术和遇到的问题及解决方案