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"))
Last modification:October 13, 2022
如果觉得我的文章对你有用,请随意赞赏