ini文件样式
[section1] option1=1 option2=2 option3=3 [section2] option1=1 option2=2 [section3] option1=1
导包
import configparser import os
def getSections(path, encoding='utf-8'):
"""
获取所有section
:param path: 文件路径
:param encoding: 编码
:return: section
"""
try:
if os.path.isfile(path):
conf = configparser.ConfigParser() # 创建配置文件解析器
conf.read(path, encoding=encoding) # 读取配置文件
sections = conf.sections() # 获取section
return sections
raise Exception("非法的路径参数")
except Exception as e:
return e
def getoptions(path, section, encoding='utf-8'):
"""
获取指定section下的所有options
:param path: 文件路径
:param section: section名称
:param encoding: 编码
:return: section下所有options
"""
try:
if os.path.isfile(path):
conf = configparser.ConfigParser()
conf.read(path, encoding=encoding)
return conf.options(section)
raise Exception("非法的路径参数")
except Exception as e:
return e
def getValue(path, section, option, encoding='utf-8'):
"""
获取指定section下指定option的值
:param path: 文件路径
:param section: section名称
:param option: options值
:param encoding: 编码
:return: section下option的值
"""
try:
if os.path.isfile(path):
conf = configparser.ConfigParser()
conf.read(path, encoding=encoding)
return conf.get(section, option)
raise Exception("非法的路径参数")
except Exception as e:
return e
def setValue(path, section, option, value, encoding='utf-8'):
"""
设置option值
:param path: 文件路径
:param section: section名称
:param option: option名称
:param value: 要修改成的值
:param encoding: 编码
:return: 运行结果
"""
try:
if os.path.isfile(path):
conf = configparser.ConfigParser()
conf.read(path, encoding=encoding)
conf.set(section, option, value) # 设置值
conf.write(open(path, "a")) # 写入
return True
raise Exception("非法的路径参数")
except Exception as e:
return e
def addSection(path, section, options, encoding='utf-8'):
"""
增加section
:param path: 文件路径
:param section: section名称
:param options: options键值,支持字典形式
:return: 运行结果
"""
try:
if os.path.isfile(path) and isinstance(options, dict):
conf = configparser.ConfigParser()
conf.read(path, encoding=encoding)
conf.add_section(section) # 添加一个section
for key, value in options.items(): # 遍历将所有的option设置进去
conf.set(section, key, value)
conf.write(open(path, "w")) # 写入文件
return True
raise Exception("非法的参数")
except Exception as e:
return e
def delSection(path, section, encoding='utf-8'):
"""
删除指定section
:param path: ini文件路径
:param section: section名称
:param encoding: 编码格式
:return: 运行结果
"""
try:
if os.path.isfile(path):
conf = configparser.ConfigParser()
conf.read(path, encoding=encoding)
conf.remove_section(section)
conf.write(open(path, "w"))
return True
raise Exception("非法的参数")
except Exception as e:
return e
def deloption(path, section, option, encoding='utf-8'):
"""
删除指定section下的option
:param path: ini文件路径
:param section: section名称
:param option: option名称
:param encoding: 编码格式
:return: 运行结果
"""
try:
if os.path.isfile(path) and isinstance(option, dict):
conf = configparser.ConfigParser()
conf.read(path, encoding=encoding)
conf.remove_option(section, option)
conf.write(open(path, "w"))
return True
raise Exception("非法的参数")
except Exception as e:
return e



