
(相关资料图)
一、查缺补漏1. ctrl + alt +L 规范格式2. Python 使用 ini&yaml 配置文件 http://testingpai.com/article/16212454378553. 如何进行SDK的测试 https://www.cnblogs.com/winson-317/p/9896645.html4. Shift+alt+E 执行选中的代码二、配置文件分类 三种配置文件效率一致,py最方便1. 硬编码与软编码 a. 软编码:参数化整个项目配置,通过参数实现比如设置name为参数,调用时赋值 b. 硬编码:写死的编码方式,比如说里name=alisa就是硬编码,要修改alisa要改代码2. xxx.ini:django项目部署用uwsgi,配置文件为ini文件,有时java开发也会用到3. xxx.yaml:java用的多,dockercompose会用到,docker和k8s都用到4. xxx.py:python文件,django项目多是py文件 如:settings.py5. 使用场景:生产环境和测试环境的区别:ip不一样、数据库地址不一样、密码不一样、账号不一样将配置文件中的ip等数据更改就可以切换生产环境和测试环境~三、xxx.ini 文件1. 写法:在项目下点击New->File->创建一个后缀为.ini的文件 [section] -- 可以自己定义 key1=val1 key2=val2 key3=val3 相似于 test_dict={"key1":"val1","key2":"val2","key3":"val3"} print(test_dict["key1"]) test_conf={"testpy1":{"key1":"val1","key2":"val2","key3":"val3"}, "testpy2":{"key1":"val1","key2":"val2","key3":"val3"}}2. 特点: a. section不能重复 b. 同一个section中的key不能重复 c. 等号两边不能有空格 d. 获取值默认是字符串类型 e. 添加、删除、修改只是对缓存区域的改变,不会真实修改文件3. 常用方法: a. 获取所有的sections 两种方式 赋值对象1= conf.sections() 不需要list强制类型转换 赋值对象2 = conf.keys() 结果会多一个"DEFAULT" 需要list强制类型转换 b. 获取指定sections下所有的options(key) test_options = conf.options(section="想要查询的section部分") 获取key test_options=conf.items(section="想要查询的section部分") 获取key(options),value c. 直接获取key(options)的value i. 默认获取到的是str【常用】 value = conf.get(section="想要查询的section部分", option="想查询val的key值") ii. 获取布尔值 value2=conf.getboolean(section="想要查询的section部分", option="想查询val为True/False的key值") iii. 获取数值(int类型),不能使用小数,只能写整数 value3 = conf.getint(section="想要查询的section部分", option="想查询val为int类型的key值") iv. 获取数值(float类型) value4 = conf.getfloat(section="想要查询的section部分", option="想查询val为float类型的key值")
4. 其他操作 a. 添加 sections(操作在内存中,不会保存到文件里) conf.add_section("your_section") b. 添加 key,val(操作在内存中,不会保存到文件里) conf.set("your_section","key22","val22") c. 删除(操作在内存中,不会保存到文件里) conf.remove_option("your_section", "key1") 对写入的文档有效
d. 写入文件:将你内存你的数据全部写入文件进行覆盖,conf 初始化的时候读取的是所有对象 conf.write(fp=open(file=文件路径,mode="w"))
四、xxx.yaml 文件1. 新建yaml文件 :在项目下点击New->File->创建一个后缀为.yaml的文件2. 写法:如果是写字典类型就只能是字典类型,如果写列表类型就只能是列表类型 key1: val1 key2: - test01 ---列表 - test02 - test033. 数据类型只支持一种,写多种只能嵌套在val里类似于-> {key1:val1,key2:[test01, test02, test03]}4. 特点: a. 使用缩进来表示层级关系 b. key值要和val值保持一个空格,杠和列表中间也要一个空格 c. 大小写敏感 d. 同一个层级的要对齐 e. 只能用空格,不要用tab f. 一个yaml对外只支持一种数据类型 g. yanl文件是一次性读取,不支持连续读取 h. 读取出来就是python对象,可以直接取值使用5. 常用方法: a. open(file=file_path,encoding="utf-8") 打开文件 路径可以拼接为绝对路径,但使用相对路径也可以 b. value = yaml.load(stream=file,Loader=yaml.FullLoader) 固定搭配,读取全部文件内容
另一种方法是open打开但是需要手动关闭
6. 安装yaml pip install pyyaml
五、封装1. ini的封装
2. yaml的封装a. 用函数封装
b. 用类封装
六、一些重要的点1. 老师的博客里面有很多知识,去看看2. 项目中使用的常量,我们把它收集在一个文件中,这个就是配置文件,配置文件在项目中是非常有必要的,它避免了项目中文件对常量的分散使用,让常量可以一致修改,避免造成修改不全面的问题3. 使用open 打开文件需要手动关闭,使用with open的时候自动关闭所以不需要手动close