1,解析ini文件
(1)ini文件示例:(不可以加注释)
[mysql]host=1111port=xxxx[redis]host=xxxport=xxx
(2)解析ini文件所用的模块:configparser,python自带模块,不需要安装
(3)步骤:引用—实例化—读取—获取结点—获取内容
import configparser# 实例化c=configparser.ConfigParser()#读取c.read("test.ini")# 获取所有的结点print(c.sections())print(dict(c["mysql"]))print(c["mysql"].get("host"))
(4)封装函数,获取结点内容(配置文件)
def get_config_from_ini(file_name,node):''':param file_name: 原ini配置文件:param node: 结点:return: 配置数据'''if not os.path.isfile(file_name):return FileNotFoundErrorc=configparser.ConfigParser()c.read(file_name)if node in c.sections():return dict(c[node])if __name__ == '__main__':ret=get_config_from_ini("test.ini","mysql")print(ret)
2、yaml,yml
(1)yaml文件—字符串:直接在文件中输入内容即可
(2)yaml文件—列表:横杠 空格 字段,列表带有横线
- cat- dag
(3)yaml文件—字典
info: 1+1 #冒号后面必须加空格name: lxpage: 20
(4)嵌套列表嵌套字典
- info: 1+1 #冒号后面必须加空格name: lxpage: 20
(5)读取yaml文件
import yamlwith open("config.yaml",encoding="utf-8") as fr:d=yaml.load(fr,yaml.SafeLoader) # SafeLoader:安全模式,运行后控制台没有warningprint(d)
(6)封装函数
def get_config_from_yaml(file_name):if not os.path.isfile(file_name):return FileNotFoundErrorwith open(file_name,encoding="utf-8") as fr:return yaml.load(fr,yaml.SafeLoader)if __name__ == '__main__':ret=get_config_from_yaml("config.yaml")print(ret)
(7)把字典写入到yaml文件中:yaml.dump()
d={'url': 'http://127.0.0.1:1111/login', 'method': 'get','headers': {'token': 'xxx'}, 'data': {'name': 'abc', 'password': 'xxx'}}with open("config3.yaml","w",encoding='utf-8') as fr:yaml.dump(d,fr)print("写入完成")
(8)写入函数封装
def write_dict_to_yaml(d,file_name):with open(file_name,'w',encoding='utf-8') as fr:yaml.dump(d,fr)
