Python学习之读取配置文件

一、目录结构

Python学习之读取配置文件_第1张图片

二、代码及配置文件

初始配置文件test.conf:

[logging]
level = 20
path = "/home/work"
server = "test"
user_name = test

[mysql]
host = 127.0.0.1
port = 3306
user = root
password = 123456

代码:

import configparser

config = configparser.ConfigParser()   # 创建对象
config.read("./conf/test.conf", encoding="utf-8")  # 读取配置文件,如果配置文件不存在则创建

# 查询类方法
secs = config.sections()  # 获取所有的节点名称
print("所有的节点名称:", secs)
options = config.options('logging')  # 获取指定节点的所有key
print("指定节点的所有key:", options)
item_list = config.items('logging')  # 获取指定节点的键值对
print("指定节点的键值对:", item_list)
val = config.get('logging', 'path')  # 获取指定节点的指定key的value
print("指定节点的指定key的value:", val)
val = config.has_section('mysql66')  # 检查指定节点是否存在,返回True或False
print("指定节点是否存在:", val)
val = config.has_option('mysql', 'port')  # 检查指定节点中是否存在某个key,返回True或False
print("指定节点中是否存在某个key:", val)

# 修改配置类方法:增删改
config.add_section("user")  # 添加一个节点,节点名为user, 此时添加的节点node尚未写入文件
config.write(open('./conf/test.conf', "w"))  # 将添加的节点user写入配置文件
secs = config.sections()  # 获取所有的节点名称
print("修改配置类-add-所有的节点名称:", secs)

config.remove_section("user")  # 删除一个节点,节点名为user, 删掉了内存中的节点user
config.write(open("./conf/test.conf", "w"))  # 将删除节点node后的文件内容回写到配置文件
secs = config.sections()  # 获取所有的节点名称
print("修改配置类-del-所有的节点名称:", secs)

config.set("logging", "user_name", "xiaoming")  # 在已存在的节点中添加一个键值对k1 = v1 ,如果该节点不存在则报错,如果key已经存在,则修改value
config.write(open("./conf/test.conf", "w"))
item_list = config.items('logging')  # 获取指定节点的键值对
print("修改配置类-add option-指定节点的键值对:", item_list)

config.set("logging", "user_name", "zhangsan")  # 在已存在的节点中添加一个键值对k1 = v1 ,如果该节点不存在则报错,如果key已经存在,则修改value
config.write(open("./conf/test.conf", "w"))
item_list = config.items('logging')  # 获取指定节点的键值对
print("修改配置类-update option-指定节点的键值对:", item_list)

程序执行结果:

所有的节点名称: ['logging', 'mysql']
指定节点的所有key: ['level', 'path', 'server', 'user_name']
指定节点的键值对: [('level', '20'), ('path', '"/home/work"'), ('server', '"test"'), ('user_name', 'zhangsan')]
指定节点的指定key的value: "/home/work"
指定节点是否存在: False
指定节点中是否存在某个key: True
修改配置类-add-所有的节点名称: ['logging', 'mysql', 'user']
修改配置类-del-所有的节点名称: ['logging', 'mysql']
修改配置类-add option-指定节点的键值对: [('level', '20'), ('path', '"/home/work"'), ('server', '"test"'), ('user_name', 'xiaoming')]
修改配置类-update option-指定节点的键值对: [('level', '20'), ('path', '"/home/work"'), ('server', '"test"'), ('user_name', 'zhangsan')]

程序执行后的配置文件:

[logging]
level = 20
path = "/home/work"
server = "test"
user_name = zhangsan

[mysql]
host = 127.0.0.1
port = 3306
user = root
password = 123456

你可能感兴趣的:(Python,学习,mysql,数据库)