选择适合自己的文件格式
尝试了ini和json,选择了json。读json后可以赋值给字典变量,结构更灵活,同时方便对无效参数预处理。
这两个库不需要安装import后可以直接用
读ini
import configparser
读json
import json
有些老师推荐我使用yaml和toml,尤其是toml,可读性更好,但我考虑到这两个需要三方库支持,为了比较不必要的麻烦。ini不适合保存复杂的结构,所以我最后还是选择了json,适合自己的是最好的。
读json格式配置文件的具体操作
注意:json中有中文,读文件时要选择相应的字符集
比如下面示例中的json文件中包有中文,而且GBK
附:config.json的内容
注意:要用用双引号
{
"学生": {
"N01": {
"姓名": "张三",
"年龄": 19
},
"N02": {
"姓名": "张三",
"年龄": 19
}
}
}
读配置文件
解读:encoding='GBK',GBK是json文件的字符集,这里要与json文件保持一致,无需指定py文件的字符集,会自动转换
'''
读配置文件,建议用json,可以赋值给字典变量,结构更灵活,同时方便对无效参数预处理
'''
import json
with open('config.json', 'r', encoding='GBK') as config_j:
cfg=json.load(config_j)
print(cfg)
print(cfg.get('老师','无效参数'))
print(cfg['学生'].get('N03',{'姓名':'未登记','年龄':'未知'}))
'''
#输出结果
{'学生': {'N01': {'姓名': '张三', '年龄': 19}, 'N02': {'姓名': '张三', '年龄': 19}}}
无效参数
{'姓名': '未登记', '年龄': '未知'}
'''