【Python基础】一文搞懂:Python 中 ini 配置文件的写入与读取

1 引言

INI 文件是一种简单的文本文件,用于存储配置信息。它们易于阅读和编辑,广泛应用于多种程序和应用中。Python 通过内置的 configparser 模块提供了对 INI 文件的读写支持。本文将详细介绍如何在 Python 中使用 configparser 来处理 INI 文件。

2 INI 文件简介

INI 文件通常由一个或多个节(section)组成,每个节可以包含多个键值对。节由方括号包围的标题表示,例如 [SectionName]

3 Python 中的 configparser 模块

configparser 是 Python 的标准库之一,用于解析和操作 INI 文件。它提供了丰富的方法来读取、写入、更新和删除 INI 文件中的配置项。
configparser 是 Python 的标准库,无需单独安装。可以直接导入并使用。

4 写入 INI 文件

4.1 基本用法

from configparser import ConfigParser

# 创建配置解析器
config = ConfigParser()

# 添加节
config.add_section('Settings')
# 设置键值对
config.set('Settings', 'font', 'Arial')
config.set('Settings', 'fontsize', '12')

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

4.2 高级用法

# 添加多个节
config.add_section('User')
config.set('User', 'name', 'Alice')
config.set('User', 'age', '30')

# 再次写入
with open('config.ini', 'w') as configfile:
    config.write(configfile)

5 读取 INI 文件

# 读取配置文件
config.read('config.ini')

# 获取配置值
font = config.get('Settings', 'font')
fontsize = config.getint('Settings', 'fontsize')

print(f'Font: {font}, Font Size: {fontsize}')

# 检查节是否存在
if config.has_section('User'):
    name = config.get('User', 'name')
    age = config.get('User', 'age')
    print(f'User Name: {name}, Age: {age}')

6 实例演示

当然可以。下面是一个使用 Python 的 configparser 模块来读取和写入 INI 配置文件的完整示例。这个例子将包含创建配置文件、写入多个节和键值对,以及读取这些配置的功能。我们将这些操作封装在一个名为 config_example.py 的 Python 文件中。

6.1 封装为config_example.py脚本文件

from configparser import ConfigParser

def create_config(filename):
    config = ConfigParser()

    config.add_section('Settings')
    config.set('Settings', 'font', 'Arial')
    config.set('Settings', 'fontsize', '12')
    config.set('Settings', 'compression', '9.5')  # 浮点数示例
    config.set('Settings', 'fullscreen', 'yes')  # 布尔值示例

    config.add_section('User')
    config.set('User', 'name', 'Alice')
    config.set('User', 'age', '30')

    with open(filename, 'w') as configfile:
        config.write(configfile)

def read_config(filename):
    config = ConfigParser()
    config.read(filename)

    if config.has_section('Settings'):
        font = config.get('Settings', 'font')
        fontsize = config.getint('Settings', 'fontsize')  # 使用 getint
        compression = config.getfloat('Settings', 'compression')  # 使用 getfloat
        fullscreen = config.getboolean('Settings', 'fullscreen')  # 使用 getboolean
        print(f"[Settings]\nFont: {font}\nFontSize: {fontsize}\n"
              f"Compression: {compression}\nFullScreen: {fullscreen}\n")

    if config.has_section('User'):
        name = config.get('User', 'name')
        age = config.getint('User', 'age')  # 使用 getint
        print(f"[User]\nName: {name}\nAge: {age}")

def main():
    config_file = 'config.ini'
    create_config(config_file)
    read_config(config_file)

if __name__ == "__main__":
    main()

运行以上代码后控制台输出结果:
[Settings]
Font: Arial
FontSize: 12
Compression: 9.5
FullScreen: True

[User]
Name: Alice
Age: 30
同时生成如下ini文件:“config.ini”
在这里插入图片描述

这个脚本包含两个主要的函数:create_configread_configcreate_config 函数用于创建一个新的 INI 配置文件并添加设置和用户信息。read_config 函数则用于读取这个配置文件并打印其内容。main 函数组织了这些操作的流程。运行此脚本将创建一个名为 config.ini 的配置文件,并在其中写入数据,然后读取并打印这些数据。

7 注意事项

  • 使用 configparser 时,请注意键和节的大小写。默认情况下,configparser 将所有键和节名转换为小写。
  • 使用 getint()getfloat()getboolean() 方法可以获取非字符串类型的值。

8 总结

configparser 模块提供了一种简单而有效的方法来处理 INI 配置文件。通过这个模块,您可以轻松地在 Python 中创建、读取、修改和写入 INI 文件,从而管理各种配置数据。


希望这篇文章能帮助您理解和掌握 Python 中处理 INI 文件的方法。如果您有任何疑问或建议,请在评论区留言,让我们共同进步!

作者:climber1121
链接:https://blog.csdn.net/climber1121
来源:CSDN
版权声明:本文为博主原创文章,转载请附上原文出处链接和本声明。

  • 14
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值