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)