前言:配置文件是我们在编程过程中,经常会用到的,一直必要的配置信息都需要放在里面,方便我们及时更换/调整,接下来我们就一起认识常见的集中配置文件吧
一、配置文件作用:通过配置文件软编码
例子:
import requests
def login(user,password):
# data = {"user":"admin","password":"123456"} #硬编码,写死了数据类型和内容
data = {"user":user,"password":password} # 软编码,灵活传参,数据类型变更
res = requests.post(url="/login",json=data)
return res.json()
二、配置文件的类型
a)ini配置文件
b)yaml配置文件
c)python文件
三、ini配置文件的使用图例:
特点 1、[user] 一个ini文件内不能重复 2、同一个[user]里面的key不能重复 3、默认数据类型是字符串 操作方法 1、获取所有section[user],返回list result = conf.sections() 2、获取[user]下所有的key,返回list options_list = conf.options(section="user") 3、获取key对应的value value = conf.get(section="user",option="user_name")
例子:
例子: from configparser import ConfigParser #导入库 conf = ConfigParser() #实例化ConfigParser conf.read(filenames="test.ini", encoding="utf-8") #打开ini文件,编码格式utf-8防止乱码 # 获取section[user] result = conf.sections() print(result) #响应结果:['user', 'host'] #获取[user]下所有的key,返回list result = conf.options(section="user") print(result)#响应结果:['user_name', 'user_password'] #获取某个section下的某个options的值 result = conf.get(section="user",option="user_name") print(result) #响应结果:admin # 获取布尔值 conf.getboolean(section="user",option="user_name") # 获取int类型 conf.getint(section="user",option="pass_word") # 获取浮点数 conf.getfloat(section="user",option="pass_word")四、yaml配置文件的使用
a)安装
安装PyYAML pip install PyYAML==5.3.1 导入yaml import yaml
b)特性
2、支持数据类型
1、字典:通过":"定义
key1: value
2、列表: 通过"-"定义
创建字典例子:
name : 小阿卷
age : 18
hobby:
eat:吃#这里是嵌套字典
play:玩
创建列表例子:
- vallue1 #-列表: 通过"-"定义
- vallue2 #-列表: 通过"-"定义
- vallue3 #-列表: 通过"-"定义
3、特性 1、读取出来是python对象 2、区分大小写 3、通过缩进来表示层级关系 4、如果是字典类型,同一级别的key不能重复 5、只要是左对齐的就认为是同一个级别的 6、通过#注释 7、整个文件对外只能有一种数据类型,有多种数据类型同时存在会报错 8、列表、字典标识符后面要加空格(: -) 9、一次性全部读取出来,不支持一个个读取
五、Python配置文件的使用
"""
setting.py文件
"""
mysql_info = {
"host":"192.168.1.170",
"user":"root",
"password":"123456",
"port":33061,
"db":"tot",
"charset":"utf8",
}
mysql_info_new = {
"host":"192.168.1.170",
"user":"admin",
"password":"123456",
"port":33061,
"db":"tot",
"charset":"utf8",
}
test_info = ["192.168.1.170","root","123456"]
#导入setting文件,用Python的方式去读取
from setting import *
print(mysql_info["host"])


