淄博三合一网站开发,免费生成短链接,网络营销渠道可分为哪几种,网站页面打开速度慢目录 8、MySQL数据库的操作-pymysql
8.1 连接并操作数据库
9、ini文件的操作-configparser
9.1 模块-configparser
9.2 读取ini文件中的内容
9.3 获取指定建的值
10 json文件操作-json
10.1 json文件的格式或者json数据的格式
10.2 json.load/json.loads
10.3 json.du…目录 8、MySQL数据库的操作-pymysql
8.1 连接并操作数据库
9、ini文件的操作-configparser
9.1 模块-configparser
9.2 读取ini文件中的内容
9.3 获取指定建的值
10 json文件操作-json
10.1 json文件的格式或者json数据的格式
10.2 json.load/json.loads
10.3 json.dump/json.dumps
11 yaml 文件操作-pyyaml
11.1 yaml 文件的应用场景
11.2 yaml 文件的格式
11.3 第三方包 - pyyaml
12 sys模块
12.1 处理命令行参数--sys.argv
12.2 退出程序正常退出时exit(0)--sys.exit(n)
12.3 获取Python解释程序的版本信息
12.4 操作系统平台名称 8、MySQL数据库的操作-pymysql
在做测试过程中我们可以把测试数据创建在数据库也可以读取数据库中的数据进行断言操作
python操作数据库之前需要安装数据库驱动 安装方式pip install pymysql 8.1 连接并操作数据库
import pymysql
# 连接数据库
my_connect pymysql.connect(host ,user ,password ,database ,port ,charset utf8)
# 建立游标目的是为了缓存数据方便操作(读取数据遍历表中的所有数据以便查询)
du_shuju my_connect.cursor()
#执行sql语句
du_shuju.execute(select * from xxxxx;)
#获取数据
huoqu_data du_shuju.fetchall()
print(huoqu_data)
#修改表中的数据
du_shuju.execute(update 表名 set 字段名xxx where 字段名yyy;)
#提交数据,修改的数据要进行提交才能修改数据库中的数据否则修改的只是游标缓存里的数据
my_connect.commit()
注意点链接数据库的connect类返回的是链接对象使用链接对象创建游标对象。使用游标对象的execute方法执行sql语句。如果是更新表操作需要使用链接对象commit提交。如果是查询操作需要使用游标的对象的fetchall方法获取查询结果不需要使用链接对象commit提交因为查询操作没有更新表。 注意点如果查询操作获取返回结果使用游标对象的fetchall方法获取。 fetchall方法是临时的注意需要使用变量结束fetchall方法的返回结果。 9、ini文件的操作-configparser
什么是ini文件
ini文件是Initialization File的缩写即初始化文件是windows的系统配置文件所采用的存储格式。
ini文件的格式ini文件由节、键、值组成。
[节点/section]
键值
keyvalue
例子setup.ini
[Startup]
RequireOSWindows 7
RequireMSI3.1
RequireIE7.0.0000.0
Require64BitVCRT1
[Windows 7]
PlatformID2
MajorVersion6
MinorVersion1 9.1 模块-configparser
configparser是第三方模块主要是用来操作ini文件
安装方式pip install configparser
9.2 读取ini文件中的内容
使用configparser的Configparser类是实例对象的read方法读取ini文件需要给read传入ini文件路径。
# 注意点Configparser类的实例对象的read方法的机制读取ini文件之后加载到Configparser类的实例对象中的。
# 1获取ini文件的绝对路径 os.path.dirname(os.path.dirname(__file__))获取当前文件父级的父级目录
ini_path os.path.dirname(os.path.dirname(__file__)) /data_config/config.ini
# 2: 创建Configparser类的实例对象
conf configparser.ConfigParser()
# 3: 调用read方法读取ini文件
# read(ini文件的路径)返回值是读取成功的文件路径。机制讲读取成功的文件加载到Configparser类型的实例对象中
conf.read(ini_path)
9.3 获取指定建的值
使用configparser的Configparser类是实例对象的get方法获取ini文件下指点键对应的值。
conf configparser.COnfigparser()
conf.get(节点名, 键) 10 json文件操作-json
json是用来存储简单的数据结构和对象的文件。json是一种轻量级的数据交换格式基于ECMAScript欧洲计算机协会制定的js规范的一个子集采用完全独立于编程语言的文本格式来存储和表示数据用于许多Web应用程序来进行数据交换。
10.1 json文件的格式或者json数据的格式
1.列表方式 [ ]---列表套字典或者列表套列表
[{id : 1 ,name : xiaoming
},{id : 2 , name : xiaohong
},[name, age, sex]
]
2.字典方式 { }--字典套字典或者字典套列表
// 前后端分离推荐后端返回给前端数据格式
{status : 0 , //执行状态码msg : SUCCESS, //说明文字信息没有为NULLdata :[{ //对象中嵌套数组数组是返回的数据id : 1 ,name : xiaohong},{id : 2,name : xiaoming}]
}
3.反例
{id : ox16 } //不合法数值需要是十进制
{name : underfined } //不合法没有该值
[{name : NUll,school : function() {console.log(该写法是错误的)}//不合法
}]//json中不能使用自定义函数或系统内置函数
json模块是python自带的
10.2 json.load/json.loads json.load(文件对象)将json文件转成python对象 json.loads(字符串)将字符串数据转成python对象 # json.laods(字符串)
json_data {a: {b: {c: 数据}}}
result json.loads(json_data)
print(type(result))
# json.load(文件对象)
with open(rjson文件路径, moder) as f:print(json.load(f))
10.3 json.dump/json.dumps json.dump(obj, fp)将python对象写入json文件 json.dumps(obj)将python对象转成json数据 # json.dumps(obj)
dict1 {a: {b: {c: 数据}}}
result json.dumps(dict1)
print(type(result))
# json.dump(obj, fp)
dict2 {a: {b: {c: 数据}}}
with open(rjson_data.json, modew) as fp:json.dump(dict2, fp) 11 yaml 文件操作-pyyaml
11.1 yaml 文件的应用场景
yaml其实也类似于 json、txt 它们都属于一种文本格式。在我们的实际工作中 yaml 文件经常作为服务期配置文件来使用。 比如一些定义好的内容并且不会修改的信息我们就可以通过定义 yaml 文件然后通过读取这样的文件将数据导入到我们的服务中进行使用。
由于 yaml 文件一般作为配置文件使用所以较少会修改。 11.2 yaml 文件的格式
1、大小写敏感
2、使用缩进表示层级关系
3、缩进的空格数目不重要只要相同层级的元素左侧对齐即可通常开头缩进两个空格
4、不支持Tab键制表符缩进只使用空格缩进
5、字符后缩进一个空格如冒号逗号短横杆-)等
6、—“表示YAML格式一个文件的开始用于分隔文件间
7、”#”表示注释 yaml文件只有行注释
YAML 支持的数据结构有三种。 对象键值对的集合又称为字典dictionary 数组一组按次序排列的值又称为 列表list 纯量scalars单个的、不可再分的值
下面对这三种数据结构做详细介绍
yaml 中的值有以下基本类型 字符串 整形 浮点型 布尔型 null 时间 日期 # 注释# 1-1、字典 键 值
username: xiaoming # 冒号后面是空格
password: 123456
info: 配置 # 中文---不建议使用有可能会乱码# 1-2、字典嵌套
NAME_PSW:name: xiaomingpassword: 123456
# 字典套列表
person:name: 锋声age: 18man: trueaddress:- 深圳- 北京- 广州
# 字典套列表
person1:name: 锋声age: 18man: trueaddress: [深圳, 北京, 广州]# 字典套列表
childs:-name: 锋声age: 10-name: 锋声age: 15# 字典套列表
person2:name: 锋声age: 18man: trueaddress: [深圳, 北京, 广州]twoArr:-- 2- 3- 1-- 10- 12- 30
# 列表
- 1
- 2
# 列表嵌套字典
- user1: aaa
- user2: bbbage: 10sex: male 11.3 第三方包 - pyyaml
pyyaml 的安装pip install PyYAML
import yamldef read(path):with open(path, r) as file:data file.read()result yaml.load(data)# result yaml.load(data, Loaderyaml.FullLoader)return result
这是因为在 YAML 5.1版本后弃用了yaml.load(file)这个用法因为觉得很不安全5.1版本之后就修改了需要指定Loader通过默认加载器FullLoader禁止执行任意函数该load函数也变得更加安全。所以我们需要将 result yaml.load(data) 改为 result yaml.load(data, Loaderyaml.FullLoader) 。
解决该 TypeError 不单单 只有 yaml.load(data, Loaderyaml.FullLoader) 这一个方法。
以下三选一即可解决该 TypeError
yaml.safe_load(file.read())yaml.load(file.read(), Loaderyaml.FullLoader)yaml.load(file.read(), Loaderyaml.CLoader) 12 sys模块
sys模块是与python解释器交互的一个接口。sys 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分。
12.1 处理命令行参数--sys.argv
在解释器启动后, argv 列表包含了传递给脚本的所有参数, 列表的第一个元素为脚本自身的名称。 12.2 退出程序正常退出时exit(0)--sys.exit(n)
sys.exit(5)
print(11)
print(11)
print(11)
# 退出python执行程序下面的代码将不会执行如同shell中的exit一样。
12.3 获取Python解释程序的版本信息
import sys
print(sys.version)
12.4 操作系统平台名称
import sys
print(sys.platform)