配置文件:
配置文件就是对不同对象进行不同配置的文件。比如一般换环境,就会发生变化的就可以写在配置文件中,每次运行都会发生变化的不要写在配置文件中。
现在比较常见的配置文件有yaml 和 ini 格式
一个配置文件,一般是由两部分组成的:
1. 注释内容:在示例文件中是由 # 来单行注释表示的,用来解释一些必要内容。
2. 配置项内容:配置内容其实就是一个一个的键值对的记录,左侧是 key 值,右侧是 value 值
例如:
新建一个.yaml文件,命名study_python,在文件中输入如下内容
host: "http://jinyan.com"
port: 7788
#数据库
db:
host: "http://db.com"
port: 3306
users:
-
username: "谨言"
password: "123456"
-
username: "开心"
password: "888888"
yaml 文件解析
yaml 注意的问题:
- key 后面的冒号: 加空格
- 层级要缩进
- 可以用注释 #
读取yaml文件只需要三步:
1、第三方库:pyyaml模块
2、安装:pip install pyyaml
3、从yaml文件读取数据只有3步:
3.0 引入yaml: import yaml
3.1 打开yaml文件: open函数
3.2 调用yaml.load加载文件对象,为python对象。
例如:
import yaml
# 打开文件
with open('study_python.yaml', encoding='utf-8') as f:
data = yaml.load(f, Loader=yaml.SafeLoader)
print(data)
print(data['db']['port'])
print(data['users'][1]['password'])
print(data['users'][0])
以上实例打印结果:
{'host': 'http://jinyan.com', 'port': 7788, 'db': {'host': 'http://db.com', 'port': 3306}, 'users': [{'username': '谨言', 'password': '123456'}, {'username': '开心', 'password': '888888'}]}
3306
888888
{'username': '谨言', 'password': '123456'}
ini 文件解析
不需要安装,是python自带的
可以通过:from configparser import ConfigParser 获取
- ini 是传统的主流配置文件。
- 支持的数据类型不多。所有的值都默认当成了字符串。
- [], section, 分组
- option. 获取某个 option, 必须通过 section
例如:
1)新建一个.ini文件,命名study_python,在文件中输入如下内容
[default]
host: http://jinyan.com
port: 7788
db:
host: http://db.com
port: 3306
2)
from configparser import ConfigParser
# 初始化一个解析对象
parser = ConfigParser()
# 解析对象读取文件
parser.read("python36.ini", encoding="utf-8")
# 获取某个配置
host = parser.get("default", "host")
db_host = parser.get("db", "host")
print(host)
print(db_host)
# 获取端口
port = parser.get('db', 'port')
print(port)
以上实例打印结果:
http://yuz.com
http://db.com
3306