Python读写INI、Json、XML配置文件

in 那美克星

开始写公众号了,虽然有种49入国的感觉,但……没有但是,重在参与。

期待朋友们的关注「花墨世界」O(∩_∩)O

花墨世界

1. ini配置文件

测试配置文件内容:config.ini

[config]
v1 = 100
v2 = abc
v3 = true
v4 = 123.45

[config2]
v1 = 100
v2 = abc
v3 = true
v4 = 123.45

import configparser

conf = configparser.ConfigParser()
conf.read("config.ini")    # 读取ini文件

section_list = conf.sections() # 获取所有分组,section_list = ['config', 'config2']

key_list = conf.options("config")    # 获取某分组下所有Key,key_list = ['v1', 'v2', 'v3', 'v4']

# 获取某节点下的值
v1 = conf.getint("config","v1")
v2 = conf.get("config","v2")
v3 = conf.getboolean("config","v3")
v4 = conf.getfloat("config","v4")

# 添加分组section,注意:如果分组名已存在,则会报错
conf.add_section('config3')
# 为分组添加新键值对,如果Key存在则覆盖
conf.set('config2', 'v1', '1100')
# 写入ini文件
with open('config.ini', 'w') as fw:
    conf.write(fw)

2. Json配置文件

测试配置文件内容:config.json

{
"p1":0,
"p2":"string"
}
import json

class JsonConfig():
    def __init__(self,path):
        self.path = path

    def initCfg(self):
        with open(self.path) as json_data:
            self.data = json.load(json_data)

    # 读取整个配置文件
    def get(self):
        return self.data

    # 写入配置文件
    def save(self):
        with open(self.path,"w") as json_data:
            json_data.write(json.dumps(self.data, indent=4))


if __name__=="__main__":
    # 声明配置文件类
    j = JsonConfig("config.json")
    # 初始化
    j.initCfg()
    # 获取配置信息
    print(j.get()["p1"])
    # 更新配置
    j.get()["p1"] = 1
    # 写入配置
    j.save()

3. XML配置文件

要啥自行车!

Responses