ini文件操作相对比较常用,这里日志我采用的是ini配置。操作ini简单封装了一个工具类,方便代码重用。
IniHelper.py
#!/usr/bin/python
# -*- coding: UTF-8 -*-
'''
Ini配置文件操作类
Created on 2021年4月25日
@author: mosorg
'''
import codecs
import configparser
class IniHelper(object):
'''
classdocs
'''
def __init__(self,configPath):
fd = open(configPath)
data = fd.read()
# remove BOM
if data[:3] == codecs.BOM_UTF8:
data = data[3:]
file = codecs.open(configPath, "w")
file.write(data)
file.close()
fd.close()
self.cf = configparser.ConfigParser()
self.cf.read(configPath)
#选择section
def select_section(self,section):
self.section=section
#获取键值对的值
def get_value(self,name):
value = self.cf.get(self.section, name)
return value
#新增section
def add_section(self,section):
self.cf.add_section(section)
#新增键值对
def set_value(self,name,value):
self.cf.set(self.section, name, value)
#保存ini文件
def saveIniFile(self,configPath):
# write to file
with open(configPath,"w+") as f:
self.cf.write(f)
if __name__ == '__main__':
import os
proDir = os.path.split(os.path.realpath(__file__))[0]
configPath = os.path.join(proDir, "test.ini")
print(configPath)
#读取ini
iniHelper=IniHelper(configPath)
#新增section
iniHelper.add_section("section")
#选择新增的section
iniHelper.select_section("section")
#新增键值对
iniHelper.set_value("name", "value")
#保存新增内容到ini文件
iniHelper.saveIniFile(configPath)