前言:配置文件是我们在编程过程中,经常会用到的,一直必要的配置信息都需要放在里面,方便我们及时更换/调整,接下来我们就一起认识常见的集中配置文件吧
一、配置文件
作用:通过配置文件软编码
例子:
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"])