栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python配置文件的操作

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python配置文件的操作

1. 配置文件

配置文件是把程序需要的一些参数或者设置保存到文件当中 

参数,数据主要就是程序运行的依赖数据,没有这些参数,程序可能无法运行

参数实际上就是提供软件的运行环境

说的更直白一点:程序运行的常量

变量:根据程序的运行,可能时刻变化

常量:通常不会变化的,你想改变程序的运行的环境,往往需要你手工修改

如:数据库地址,域名,端口号,数据库连接数,测试账号,excel文件名

好处:对于改变程序的运行,只需要修改配置文件,不需要再修改代码,这种方式叫做无代码化

主流的配置文件格式非常多,如:

Linux系统中的.bashrc,.YAML,.TOML,.JSON,.XML,.INI,.properties

2. YAML文件

格式:

键: 值

键值对之间用的是冒号,冒号之后要有一个空格(至少一个,多了也没关系)

ymal文件的写法格式跟python大多数相似,需要注意的是字符串尽量用引号包裹起来,还有一个注意点是yaml中没有三引号注释,写的时候没有问题,但读出的时候会报错yaml.scanner.ScannerError: while scanning a simple key

 读取yaml文件:

第一步:先安装pyyaml

第二步:导入 import yaml

import yaml
import pprint
with open('demo01.yaml', encoding='utf-8') as f:
    data = yaml.safe_load(f)
pprint.pprint(data)

运行结果:

{'database': '127.168.1.13',
 'hobby': [1, 2, 3],
 'hobby1': [1, 2, 3],
 'info': {'age': 18, 'name': 'momo'},
 'info1': {'age': 18, 'name': 'momo1'},
 'password': 123456,
 'username': 'mo: mo'}

 注意data的值是个字典

我们自动化测试可以使用yaml文件保存设置选项,也可以保存测试用例数据

3. INI文件

ini也是配置文件中的一种,它比较适合配置项的数据类型只是简单的字符串,数字的情况,如果涉及数组和字典的嵌套会比较吃力,现在用的越来越少,主流的还是yaml文件,所以这种就不过多介绍了

ini配置格式有几个注意点:

-- section无法嵌套,嵌套后的效果和没有嵌套的是一样的

[default]

    [db]

    host=http://www.baidu.com

获取这个host的方式不会发生任何变化,default并不是db的你级

-- 字符串的表示不需要加引号,否则引号也会被解析出来

[db]

host="http://www.baidu.com"

host1=http://www.baidu.com

等到的结果:

"http://www.baidu.com"

http://www.baidu.com

-- 等号前后可以有空格,也可以不用

注意:ini不需要安装,直接导入就可用 

 新建demo02.ini文件,代码如下

[default]
host = http://www.baidu.com
[db]
host = 'http://www.baidu.com'
port = 3306
name = 'py'
from configparser import ConfigParser


parser = ConfigParser()
parser.read('demo02.ini',encoding='utf-8')
host = parser.get('default','host')
db_host = parser.get('db','host')
port = parser.get('db','port')
print(host)
print(db_host)
print(port)

运行结果:

http://www.baidu.com
'http://www.baidu.com'
3306

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/313686.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号