1.configparser
该模块适用于配置文件的格式与 Windows ini 文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键=值)。
2.创建对象
import configparser
config = configparser.ConfigParser()
config["DEFAULT"] = {
"sleep": 1000,
"session-time-out": 30,
"user-alive": 999999
}
config["TEST-DB"] = {
"db-ip": "192.168.17.189",
"port": "3306",
"u_name": "root",
"u_pwd": "123456"
}
config["168-DB"] = {
"db-ip": "152.163.18.168",
"port": "3306",
"u_name": "root",
"u_pwd": "123456"
}
config["173-DB"] = {
"db_ip": "152.163.18.173",
"port": "3306",
"u_name": "root",
"u_pwd": "123456"
}
3.写入到配置文件
f = open("db.ini", mode="w", encoding="utf-8")
config.write(f)
f.flush()
f.close()
4.读取配置文件
4.1 读取文件
import configparser
config = configparser.ConfigParser()
config.read("db.ini") # 读取文件
4.2 读取章节
DEFAULT章节特殊,它是给每个章节都配备的信息
import configparser
config = configparser.ConfigParser()
config.read("db.ini", encoding="utf-8") # 读取文件,此时把文件的内容读取到config
print(config.sections())
# ['TEST-DB', '168-DB', '173-DB']
4.3 读取特定章节
import configparser
config = configparser.ConfigParser()
config.read("db.ini", encoding="utf-8") # 读取文件
print(config.get("TEST-DB", "DB-IP")) # 192.168.17.189
print(config["TEST-DB"]["DB-IP"]) # 192.168.17.189
4.4 增删改操作
4.4.1 增加
- 增加一个章节
# add_section()
import configparser
config = configparser.ConfigParser()
# 读取文件
config.read("db.ini", encoding="utf-8")
# 添加
config.add_section("189-DB")
config["189-DB"] = {
"db_ip": "167.76.22.189",
"port": "3306",
"u_name": "root",
"u_pwd": "123456"
}
config.write(open("db.ini", mode="w"))
- 增加元素
import configparser
config = configparser.ConfigParser()
config.read("db.ini", encoding="utf-8") # 读取文件
config["168-DB"]["code"] = "AFRE"
config.write(open("db.ini", mode="w"))
4.4.2 删除
- 删除章节
# remove_section(section)
import configparser
config = configparser.ConfigParser()
config.read("db.ini", encoding="utf-8") # 读取文件
config.remove_section("173-DB")
config.write(open("db.ini", mode="w"))
- 删除元素
# remove_option(section, 元素)
import configparser
config = configparser.ConfigParser()
config.read("db.ini", encoding="utf-8") # 读取文件
config.remove_option("168-DB", "code")
config.write(open("db.ini", mode="w"))
4.4.3 修改
- set(section, 元素,信息)
import configparser
config = configparser.ConfigParser()
config.read("db.ini", encoding="utf-8") # 读取文件
config.set("168-DB", "db-ip", "10.10.10.168")
config.write(open("db.ini", mode="w"))
4.4.4 遍历
- 遍历 key
import configparser
config = configparser.ConfigParser()
config.read("db.ini", encoding="utf-8") # 读取文件
for k in config["168-DB"]:
print(k)
- options()
import configparser
config = configparser.ConfigParser()
config.read("db.ini", encoding="utf-8") # 读取文件
print(config.options("168-DB"))
- 遍历 items
import configparser
config = configparser.ConfigParser()
config.read("db.ini", encoding="utf-8") # 读取文件
for k, v in config["168-DB"].items():
print(k, v)
- items()
import configparser
config = configparser.ConfigParser()
config.read("db.ini", encoding="utf-8") # 读取文件
print(config.items("168-DB"))