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)