如何在 Python 中读写 INI 文件

INI(Initialization)是一种格式化文件,通常用于存储程序配置信息。INI 文件中由多个节(Section)组成,每个节由多个键值对(Key=Value)构成。Python 支持使用 ConfigParser 模块读写 INI 文件。

  1. 读取 INI 文件

对于以下示例 INI 文件:

[Section1]
key1=value1
key2=value2

[Section2]
key3=value3
key4=value4

可以使用以下代码读取:

import configparser

config = configparser.ConfigParser()
config.read('example.ini')

# 获取所有的节
sections = config.sections()
print(sections)  # ['Section1', 'Section2']

# 获取指定节的所有键值对
options = config.options('Section1')
print(options)  # ['key1', 'key2']

# 获取指定节指定键的值
value = config.get('Section1', 'key1')
print(value)  # 'value1'
  1. 写入 INI 文件

可以使用 ConfigParser 模块创建节和键值对,并保存为 INI 文件。以下示例代码创建一个 INI 文件并写入内容:

import configparser

config = configparser.ConfigParser()

# 创建节和键值对
config.add_section('Section1')
config.set('Section1', 'key1', 'value1')
config.set('Section1', 'key2', 'value2')

config.add_section('Section2')
config.set('Section2', 'key3', 'value3')
config.set('Section2', 'key4', 'value4')

# 写入到文件
with open('example.ini', 'w') as f:
    config.write(f)

此时会在执行脚本的目录下生成一个名为 example.ini 的 INI 文件。

注意事项:

  1. INI 文件的节名和键名区分大小写。
  2. 使用 ConfigParser 模块读写 INI 文件只能处理简单的 INI 文件,不能处理包含复杂结构的 INI 文件。
  3. 在写入 INI 文件时,可以通过 with 语句打开文件来自动关闭文件。
  4. 在读取 INI 文件时,如果指定的节或键不存在,会抛出 NoSectionError 或 NoOptionError 异常。需要注意处理异常情况。