目录
4. Python2 ConfigParser的读取和写入配置文件示例
在Python中,ConfigParser模块提供了一种简单的方法来读取和写入配置文件。配置文件通常是一个文本文件,其中包含程序的配置选项和设置。本文将介绍如何使用ConfigParser模块来读取和写入配置文件。
1. 创建配置文件
在使用ConfigParser模块之前,我们需要先创建一个配置文件。配置文件通常是一个文本文件,其中包含一些配置选项和设置。下面是一个示例配置文件config.ini:
[database]
host = localhost
port = 3306
username = root
password = 123456
database = test_db
[web]
host = 127.0.0.1
port = 8080
debug = True
[url]
CSDN_URL = "https://blog.csdn.net/zhouruifu2015/"
WEIXIN_URL = "https://mp.weixin.qq.com/s/0yqGBPbOI6QxHqK17WxU8Q"
GIT_URL = "https://gitee.com/SteveRocket/practice_python.git"
上面的配置文件包含两个部分:[database]和[web]。每个部分都包含一些配置选项和设置。上面的url部分可带可不带引号。
2. 读取配置文件
在Python中,我们可以使用ConfigParser模块的ConfigParser类来读取配置文件。下面是一个读取配置文件的示例代码:
import configparser
# 创建ConfigParser对象
config = configparser.ConfigParser()
# 读取配置文件
config.read('config.ini')
# 获取配置项的值
db_host = config.get('database', 'host')
db_port = config.getint('database', 'port')
db_username = config.get('database', 'username')
db_password = config.get('database', 'password')
db_database = config.get('database', 'database')
web_host = config.get('web', 'host')
web_port = config.getint('web', 'port')
web_debug = config.getboolean('web', 'debug')
weixin_url = config.get('url', 'WEIXIN_URL')
csdn_url = config.get('url', 'CSDN_URL')
git_url = config.get('url', 'GIT_URL')
# 打印配置项的值
print('database.host:', db_host)
print('database.port:', db_port)
print('database.username:', db_username)
print('database.password:', db_password)
print('database.database:', db_database)
print('web.host:', web_host)
print('web.port:', web_port)
print('web.debug:', web_debug)
print('weixin_url:', weixin_url)
print('csdn_url:', csdn_url)
print('git_url:', git_url)
输出结果:
database.host: localhost
database.port: 3306
database.username: root
database.password: 123456
database.database: test_db
web.host: 127.0.0.1
web.port: 8080
web.debug: True
weixin_url: "https://mp.weixin.qq.com/s/0yqGBPbOI6QxHqK17WxU8Q"
csdn_url: "https://blog.csdn.net/zhouruifu2015/"
git_url: "https://gitee.com/SteveRocket/practice_python.git"
上面的代码中,我们首先创建了一个ConfigParser对象,然后使用read()函数读取配置文件。接着,我们使用get()、getint()和getboolean()函数获取配置项的值。最后,我们打印了获取到的配置项的值。
3. 写入配置文件
在Python中,我们也可以使用ConfigParser模块来写入配置文件。下面是一个写入配置文件的示例代码:
import configparser
# 创建ConfigParser对象
config = configparser.ConfigParser()
# 设置配置项的值
config['database'] = {
'host': 'localhost',
'port': 3306,
'username': 'root',
'password': '123456',
'database': 'test_db'
}
config['web'] = {
'host': '127.0.0.1',
'port': 8080, # 此处的数字可以不用引号
'debug': True # 此处的True可以不用引号
}
config['url'] = {
'CSDN_URL': "https://blog.csdn.net/zhouruifu2015/",
'WEIXIN_URL': "https://mp.weixin.qq.com/s/0yqGBPbOI6QxHqK17WxU8Q",
'GIT_URL': "https://gitee.com/SteveRocket/practice_python.git"
}
# 写入配置文件
with open('config02.ini', 'w') as f:
config.write(f)
print('写入完成')
上面的代码中,我们首先创建了一个ConfigParser对象,并使用字典的方式设置配置项的值。接着,我们使用write()函数将配置项写入到配置文件中。
生成的文件:
4. Python2 ConfigParser的读取和写入配置文件示例
在Python3中使用的是
configparser,而在Python2中使用的是ConfigParser模块。
import ConfigParser
import os
config = ConfigParser.ConfigParser()
#读取配置文件中的数据
config.read("info.ini")#直接读取配置文件内容
sections = config.sections()#以列表的形式 如果没有info.ini文件 则会输出[] 否则输出所有的标记
print sections
options = config.options("system")#以列表的形式 输出所有标记的键
print options
items = config.items("description")#以列表的形式 输出所有的键值对,键全部变为小写
print items
#获取标记中指定键的值
context1 = config.get("main","version")#得到section中option的值,返回为string类型
print context1
context2 = config.get("system","process3")
print context2
os.system(context2) #打开系统服务
#得到section中option的值,返回为int类型,还有相应的getboolean()和getfloat() 函数。
#context3 = config.getint("main","version")#ValueError: invalid literal for int() with base 10: '1.1' 只能取int型的数据
context3 = config.getint("main","age")
print context3,type(context3)
context4 = config.getfloat("main","version")
print context4,type(context4)
context5 = config.getboolean("description","end")
print context4,type(context4)
#向配置文件中写入数据
# add_section(section) 添加一个新的section
try:
config.add_section("section")
config.set("section","number",101)
except Exception,e:
print e
#存在此项 则会更改
config.set("main","age",00)
#新添加一个选项
config.set("main","UID","123455678")
config.write(open("info.ini","w"))
# 对section中的option进行设置,需要调用write将内容写入配置文件
执行结果:
['main', 'system', 'description']
['process1', 'process2', 'process3', 'process4']
[('content', '"this is conf info"'), ('name', '"python"'), ('end', '0')]
1.1
services.msc
11 <type 'int'>
1.1 <type 'float'>
1.1 <type 'float'>
【info.ini】
[main]
version = 1.1
age = 0
uid = 123455678
[system]
process1 = notepad
process2 = calc
process3 = services.msc
process4 = cmd
[description]
content = "this is conf info"
name = "python"
end = 0
[section]
number = 101
总结
使用ConfigParser模块可以方便地读取和写入配置文件。我们可以使用get()、getint()、getboolean()函数获取配置项的值,使用字典的方式设置配置项的值,使用write()函数将配置项写入到配置文件中。掌握这些技巧可以使我们更好地管理程序的配置选项和设置。
更多资料 · 微信公众号搜索【CTO Plus】关注后,获取更多,我们一起学习交流。
或者点击下方链接