第三方库:configparser(py3)、configParser (py2)

.ini 文件预览

【Python 文件】读写配置文件 .ini - 图1

1. 导包

  1. import configparser
  2. conf = configparser.ConfigParser() # 类实例化
  3. inipath = os.path.dirname(os.path.realpath(__file__)) + "/config.ini"

2. 读取内容

  1. # 使用上面的实例 conf
  2. # 读取配置文件
  3. conf.read(inipath, encoding="utf8")
  4. # 所有sections
  5. sections = conf.sections()
  6. # 单个值
  7. val1 = conf.get("section1", "option1")
  8. # val1
  9. # section中所有options
  10. conf.options(sections[0])
  11. # section中所有键值对
  12. items = conf.items(sections[0])
  13. # 读取值为特定类型
  14. val1 = conf.getint(sections[0],'option1') # 返回int类型
  15. val2 = conf.getfloat(sections[0],'option1') # 返回float类型
  16. val3 = conf.getboolean(sections[0],'option1') # 返回boolen类型

3. 添加section/键值

  1. try:
  2. conf.add_section("section2")
  3. conf.set("section2", "option1", "val1")
  4. conf.set("section2", "option2", "val2")
  5. except configparser.DuplicateSectionError:
  6. print("Section 'section2' already exists")
  7. # 此时的配置保存在内存中,需要写入文件方可生效
  8. # 写入配置文件
  9. config.write(open(inipath, "a"))

4. 修改内容

  1. conf.set('section1', "option1", "val_new")
  2. conf.write(open(inipath, "r+", encoding="utf-8")) # r+模式

5. 删除内容

  1. # 删除option
  2. conf.remove_option(sections[0], "option1")
  3. # 删除section
  4. conf.remove_section(sections[1])