配置文件ini
一、 配置文件分类
1、xxx.ini:django项目部署uwsgi
2、xxx.yaml:java用得多,dockercompose里用到
3、xxx.py:python文件,如setting.py
3、使用场景:生产环境和测试环境的ip、数据库地址、账号、密码等都用配置文件存储
二、xxx.ini
1、写法
[section]
key1=val1
key2=val2
key3=val3
相当于字典:
section_dict = {
"key1":"val1",
"key2":"val2",
"key3":"val3"
}
2、特点:
2.1、section不能重复,相当于字典名不能重复
2.2、同个section下的key不能重复
2.3、等号两边不能有空格
2.4、获取值默认是字符串格式
2.5、添加、删除、修改只是对缓存区进行改变,不会修改真实的值
3、常用方法:
3.1、获取所有的sections
from configparser import ConfigParser
conf = ConfigParser()
conf.read(filenames="my_test.ini",encoding="utf-8")
# 获取所有的sections
# 第一种方式
test_sections_1 = conf.sections()
print(test_sections_1)
# 第二种方式
test_sectons_2 = conf.keys()
3.2、获取指定sections下所有的options
from configparser import ConfigParser
conf = ConfigParser()
conf.read(filenames="my_test.ini",encoding="utf-8")
# 获取所有sections的options(即key)
# 第一种方式
test_options_1 = conf.options(section="info")
print(test_options_1) # ['name', 'pwd', 'phone']
# 第二种方式,获取key和value
test_options_2 = conf.items(section="info")
print(test_options_2) # [('name', 'csk'), ('pwd', '123'), ('phone', '110')]
3.3、直接获取key的value值
from configparser import ConfigParser
conf = ConfigParser()
conf.read(filenames="my_test.ini",encoding="utf-8")
# 直接获取options(即key)的value,
# 默认获取到的是str
value1 = conf.get(section="info",option="name")
print(value1)
# 获取布尔值
value2 = conf.getboolean(section="score",option="key1")
print(value2,type(value2))
# 获取数值(int类型)不能使用小数,只能使用整数
value3 = conf.getint(section="score",option="key2")
print(value3)
# 获取数值(float类型)
value4 = conf.getfloat(section="score",option="key3")
print(value4)
4、其他操作
4.1、添加sections(操作内存)
4.2、添加key和value(操作内存)
4.3、删除(操作内存)
4.4、写入文件(将内存中所有的数据写入到文件进行覆盖,初始化的时候读取到的是所有对象)