python 那些事,读取配置文件再也不是什么难事
python 的configparse 是python自带的类,我们可以直接使用。挺方便的,我在这里又稍稍改写了一下,大家可以参考
常用的一些方法:
config.read(filename) #读取文件内容
config.sections() #得到所有的section,并且以列表形式返回
config.options(section) #得到section下所有的option
config.items(option) #得到该section所有的键值对
config.get(section, option) #得到section中option的值,返回string类型的结果
config.getint(section, option) #得到section中option的值,返回int类型的结果
config.write(filename) #将configparser对象写入.ini类型的文件
add_section() #添加一个新的section
add_set(section, option, value) #对section中的option信息进行写入
config.read(filename) #读取文件(这里需要注意的是:一定要先读取文件,再进行修改)
config.remove_section(section) #删除文件中的某个section的数值
config.remove_option(section, option) #删除文件中某个section下的option的数值
文件的准备:
[URL]
homepage_url=https://www.baidu.com/
[mailInfo]
host=smtp.163.com
account=12345678@163.com
password=12345678
代码如下:
import configparser
class ConfigUtils(object):
def __init__(self,filepath):
self.config = configparser.ConfigParser()
self.config.read(filepath, encoding="utf-8")
pass
def getConfig(self,section,key=None):
'''
如果传递过来key就返回 对应 的key值,否则 直接返回 整个对象
:param section: 中括号中的区域 [mailInfo]
:param key: 这个区域下面的键
:return:
'''
if key != None:
return self.config.get(section,key)
else:
data_list = {}
for x in list(self.config.items(section)):
data_list[x[0]] =x[1]
return data_list
if __name__ == '__main__':
config = ConfigUtils("./test.ini")
ret = config.getConfig("mailInfo")
print(ret)