python自动化测试笔记6-python基础
越来越不想上了,作业做的我想吐血。
今天学习的内容
1递归函数
就是函数自己调用自己。示例如下:
count =0
def abc():
global count
print(count)
count += 1
if count>20:
return
abc()
abc()
2、os模块中的walk方法:
import os
for q,w,a in os.walk('/Users/liuchang/Desktop/zuoye'):#循环打印,直到最后一层文件夹
print(q)#打印目录
print(w)#打印当前目录下文件夹
print(a)#打印当前目录下的文件。
3、匿名函数。
#冒号前面是入参,冒号后面是返回值
lambda num:(num+1).zfill(2)
4、map函数和filter函数
def abc(num):
if num%2==0:
return True
res=list(map(abc,range(1,11)))#map,多次循环输入参数执行函数。分别得到返回结果
res2=list(filter(abc,range(1,11)))#filter.目的是过滤参数中的不符合条件的。
print(res)
print(res2)
5、哈希加密 翻译为散列。哈希加密是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。不可逆。常见的hash算法有MD5加密和SHA加密。一下是明天5的。
import hashlib
s='a123456'
m= hashlib.md5(s.encode())
print(m.hexdigest())
#md5加密过的,不能解密
def my_md5(s,salt=''):
s=s+salt#salt是盐
new=str(s).encode()#需要将字符串编码,编译成二进制串
m=hashlib.md5(new)#加密
return m.hexdigest()#获取十六进制输出值
6、安装python第三方模块的三种方法
在命令行中执行语句
#pip install pymysql
# pip install /Users/liuchang/Desktop/PyMySQL-0.9.2-py2.py3-none-any.whl 下载下来的安装包目录,whl格式的安装包
# python3 setup.py install#压缩包格式的
7、python连接mysql
import pymysql
conn=pymysql.connect(host='118.24.3.40',user='jxz',password='123456',port=3306,db='jxz',charset='utf8')
cur =conn.cursor(pymysql.cursors.DictCursor)#建立游标
sql='select * from app_myuser'
cur.execute(sql)
#print(cur.fetchall())
print(type(cur.fetchone()))
#sql2='insert into app_myuser (username,passwd,is_admin) values ("你是猪","123456",1)'
#cur.execute(sql2)#执行sql
#conn.commit()#提交sql。插入、更新、删除操作需要执行。查询不需要
cur.close()#关闭游标
conn.close()#关闭连接
或者
import pymysql
MY_SQL_INFO = {
'host':'127.0.0.1',
'port':3306,
'password':"123456",
'db':'mytest',
'user':'root',
'charset':'utf8',
'autocommit':True
}
def my_db(sql):
conn = pymysql.connect(**MY_SQL_INFO)#加两个星号是啥意思?两个星号表示接受字典。一个星号表示接受元组。定义函数的时候,参数可以这样写。这是引用变量也这样?
cur = conn.cursor(pymysql.cursors.DictCursor)
cur.execute(sql)
res = cur.fetchone()
cur.close()
conn.close()
return res
sql='select * from sys_account'
res=my_db(sql)