.ini 文件是Initialization File的缩写,即初始化文件,是windows的系统配置文件所采用的存储格式,统管windows的各项配置。
Initialization File
.ini 文件通常由 节 (Section)、 键 (key)和 值 (value)组成。具体形式如下:
; 关于mysql的一个小配置 ; db.ini [mysql] host = 127.0.0.1 port = 3306 user = root password = 123456 database = test
使用python内置的 configparser 标准库进行解析ini文件。
configparser
read() 读取文件内容 items() 获取指定节的所有键值对
read()
items()
# -*- coding: utf-8 -*- ''' * @Author : bpf * @Date : 2020-10-14 22:11:06 * @Description : 读取ini文件 * @LastEditTime : 2020-10-14 22:41:53 ''' from configparser import ConfigParser from pprint import pprint import mysql.connector as MySQL ini_file = "E:\\CODE\\Python\\src\\test\\TestConfiguration\\db.ini" db_name = "mysql" cfg = ConfigParser() # 读取文件内容 cfg.read(ini_file) # cfg.items()返回list,元素为tuple db_cfg = dict(cfg.items(db_name)) # 打印参数 pprint(db_cfg) # 连接数据库 con = MySQL.connect(**db_cfg) con.close()
JSON(JavaScript Object Notation,) 是一种轻量级的数据交换格式。
语法格式:
编程字典
简单小示例:
{ "mysql": { "host": "127.0.0.1", "port": 3306, "user": "root", "password": "123456", "database": "test" } }
使用python内置的 json 标准库进行解析ini文件。
json
load() 从json文件中读取json格式数据 loads() 将字符串类型数据转化为json格式数据 dump() 将json格式数据保存到文件 dumps() 将json格式数据保存为字符串类型
load()
loads()
dump()
dumps()
''' * @Author : bpf * @Date : 2020-10-14 22:39:44 * @Description : 读取json文件 * @LastEditTime : 2020-10-14 23:17:48 ''' import json from pprint import pprint import mysql.connector as MySQL json_file = "E:\\CODE\\Python\\src\\test\\TestConfiguration\\db.json" db_name = "mysql" with open(json_file) as f: cfg = json.load(f)[db_name] pprint(cfg) con = MySQL.connect(**cfg) con.close()
TOML 是 Github 联合创始人 Tom Preston-Werner 所提出的一种配置文件格式,是一种旨在成为一个小规模、易于使用的语义化的配置文件格式,它被设计为可以无二义性的转换为一个哈希表。
语法:
TOML的语法广泛地由key = "value"、[节名]、#注释构成。 支持以下数据类型:字符串、整形、浮点型、布尔型、日期时间、数组和图表。
# db.toml [mysql] [mysql.config] host = "127.0.0.1" user = "root" port = 3306 password = "123456" database = "test" [mysql.parameters] pool_size = 5 charset = "utf8" [mysql.fields] course_cols = ["cno", "cname", "ccredit", "cdept"]
使用外部库 toml 解析toml文件。
toml
安装:pip install toml
pip install toml
# -*- coding: utf-8 -*- ''' * @Author : bpf * @Date : 2020-10-14 23:24:05 * @Description : 读取toml文件 * @LastEditTime : 2020-10-14 23:31:07 ''' import toml from pprint import pprint import mysql.connector as MySQL toml_file = "E:\\CODE\\Python\\src\\test\\TestConfiguration\\db.toml" cfg = toml.load(toml_file) pprint(cfg) conn = MySQL.connect(**cfg["mysql"]['config']) conn.close()
YAML(YAML Ain't a Markup Language", YAML不是一种标记语言) 格式是目前较为流行的一种配置文件,它早在 2001 由一个名为 Clark Evans 的人提出;同时它也是目前被广泛使用的配置文件类型。
语法: 编程字典
# db.yaml mysql: config: host: "127.0.0.1" port: 3306 user: "root" password: "" database: "stu_sys" parameters: pool_size: 5 charset: "utf8" fileds: course_cols: - cno - cname - ccredit - cdept
使用外部库 pyyaml 解析toml文件。
pyyaml
安装:pip install pyyaml
pip install pyyaml
# -*- coding: utf-8 -*- ''' * @Author : bpf * @Date : 2020-10-14 23:34:37 * @Description : 读取yaml文件 * @LastEditTime : 2020-10-14 23:39:58 ''' import yaml from pprint import pprint import mysql.connector as MySQL yaml_file = "E:\\CODE\\Python\\src\\test\\TestConfiguration\\db.yaml" with open(yaml_file, 'r') as f: cfg = yaml.safe_load(f) pprint(cfg) conn = MySQL.connect(**cfg['mysql']['config']) conn.close()
python中的四种配置文件介绍到这里,更多Python学习请参考编程字典Python教程 和问答部分,谢谢大家对编程字典的支持。
原文链接:https://www.cnblogs.com/bpf-1024/p/13818364.html