Python3 读写配置文件
介绍
在编写 Python 程序时,经常会需要从配置文件中读取配置信息,或者将程序中的配置保存到配置文件中。Python 提供了多种方法来读写配置文件,本文将介绍其中两种常用的方法。
第一种方法是使用 Python 内置的 configparser 模块,它可以读写 INI 格式的配置文件。INI 格式的配置文件是一种简单的文本格式,由多个节(section)组成,每个节中包含多个键值对。
第二种方法是使用 Python 的 json 模块,它可以读写 JSON 格式的配置文件。JSON 格式是一种轻量级的数据交换格式,它使用键值对的方式来组织数据。
在本文中,我们将分别介绍这两种方法,并给出相应的代码示例。
读写 INI 配置文件
首先,我们来看如何使用 configparser 模块读写 INI 配置文件。
安装 configparser 模块
configparser 模块是 Python 内置的模块,不需要额外安装。
示例代码
下面是一个简单的示例代码,展示了如何读取一个 INI 配置文件中的配置项:
import configparser
# 创建一个 ConfigParser 对象
config = configparser.ConfigParser()
# 读取配置文件
config.read('config.ini')
# 获取某个配置项的值
username = config.get('User', 'Username')
password = config.get('User', 'Password')
print('Username:', username)
print('Password:', password)
上面的代码首先创建了一个 ConfigParser 对象,然后使用 read()
方法读取了一个名为 config.ini
的配置文件。接着,我们使用 get()
方法从 User
节中获取了 Username
和 Password
两个配置项的值,并打印出来。
写入 INI 配置文件
下面是一个示例代码,展示了如何将程序中的配置保存到一个 INI 配置文件中:
import configparser
# 创建一个 ConfigParser 对象
config = configparser.ConfigParser()
# 设置配置项的值
config['User'] = {
'Username': 'admin',
'Password': '123456'
}
# 将配置写入到文件
with open('config.ini', 'w') as configfile:
config.write(configfile)
上面的代码首先创建了一个 ConfigParser 对象,然后通过设置键值对的方式给 User
节中的配置项赋值。最后,使用 write()
方法将配置写入到一个名为 config.ini
的文件中。
读写 JSON 配置文件
现在,我们来看如何使用 json 模块读写 JSON 配置文件。
示例代码
下面是一个简单的示例代码,展示了如何读取一个 JSON 配置文件中的配置项:
import json
# 读取配置文件
with open('config.json', 'r') as configfile:
config = json.load(configfile)
# 获取某个配置项的值
username = config['User']['Username']
password = config['User']['Password']
print('Username:', username)
print('Password:', password)
上面的代码首先使用 open()
函数打开一个名为 config.json
的配置文件,并使用 json.load()
方法将其加载为一个 Python 字典。然后,我们可以通过索引的方式获取字典中的相应配置项的值,并打印出来。
写入 JSON 配置文件
下面是一个示例代码,展示了如何将程序中的配置保存到一个 JSON 配置文件中:
import json
# 设置配置项的值
config = {
'User': {
'Username': 'admin',
'Password': '123456'
}
}
# 将配置写入到文件
with open('config.json', 'w') as configfile:
json.dump(config, configfile)
上面的代码首先通过设置键值对的方式给一个 Python 字典赋值,然后使用 json.dump()
方法将字典的内容写入到一个名为 config.json
的文件中。
总结
本文介绍了两种常用的方法来读写配置文件,分别是使用 configparser 模块读写 INI 配置文件,以及使用 json 模块读写 JSON 配置文件。使用这两种方法,我们