python读取配置文件中的信息
一、ConfigParser模块简介
假设有如下配置文件,需要在Pyhton程序中读取
如何读取呢
方法一:
cp = configparser.ConfigParser()
cp.read("conf.ini")
print(cp.sections())
print(cp.options("db"))
print(cp.get("db","db_user"))
运行结果:
['db'] ['db_port', 'db_user', 'db_host', 'db_pass'] root
方法二:
import configparser cp = configparser.ConfigParser(allow_no_value=True) cp.read("conf.ini") data = cp.items("db") print(data)
运行结果:
[('db_port', '3306'), ('db_user', 'root'), ('db_host', '127.0.0.1'), ('db_pass', '123456789')]
二、ConfigParser模块的常用方法
read(filename) 直接读取ini文件内容 sections() 得到所有的section,并以列表的形式返回 options(section) 得到该section的所有option items(section) 得到该section的所有键值对 get(section,option) 得到section中option的值,返回为string类型 getint(section,option) 得到section中option的值,返回为int类型,还有相应的getboolean()和getfloat() 函数
写入配置文件
三、特殊情况
如果有以下配置文件
hosts.txt
[IPS] 192.168.1.1 192.168.1.2 192.168.1.3 192.168.1.4
这种配置文件,每一个section里面,并不是健值对的形式,此时再调用第一种方法读取便会报出如下错误:
ConfigParser.ParsingError: File contains parsing errors: hosts.txt
应该换第二种方法:
运行结果:
[('192.168.1.1', ''), ('192.168.1.2', ''), ('192.168.1.3', ''), ('192.168.1.4', '')]