python实战:python ConfigParser操作配置文件

 目录

1. 创建配置文件

2. 读取配置文件

3. 写入配置文件

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】关注后,获取更多,我们一起学习交流。

或者点击下方链接


关于Articulate“做一个知识和技术的搬运工。做一个终身学习的爱好者。做一个有深度和广度的技术圈。”一直以来都想把专业领域的技https://mp.weixin.qq.com/s/0yqGBPbOI6QxHqK17WxU8Q

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SteveRocket

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值