目录
txt函数:
open(r"文件名",mode="w",encoding='utf-8')
mode:w覆盖写a追加r读r+以读写方式打开w+a+
read 读取文件
close 关闭文件
readline 读取一行
write 写文件
with open(r" 文件名 ",mode=' 打开方式 ') as 变量名: 以*方式打开文件名,赋值给变量名。这种方式打开,之后不用手动关闭,它自动会调close方法
readline例子:
f=open(r"C:\Users\爱吃猫的鱼\Desktop\学习笔记\python笔记.txt")
while True:
c = f.readline()
if not c: # 如果c为空
break
print(c,end='')
f.close()
导入openpyxl库(用于操作excel等)
pip install openpyxl -i https://pypi.tuna.tsinghua.edu.cn/simple/
xlsx函数:
import openpyxl
workbook=openpyxl.Workbook() ①新建一个工作簿
workbook.save(r'地址\文件名') ②保存到
workbook2=openpyxl.load_workbook(r'地址\文件名') 打开工作簿,返回一个工作簿对象
workbook2.active 返回最活跃的工作表对象
b=workbook2.worksheets 返回工作簿内所有工作簿,返回为列表
sheet=workbook2.remove(工作表) 删除工作表,返回值为None
sheet02=workbook2['Sheet'] ①workbook2工作簿内Sheet表
s=sheet02.cell(3,1).value ②返回Sheet表中3行1列的值,给s
sheet02['A3'].value ②返回Sheet表中A列3行的值
工作表.max_row 获取工作表内最大行号
工作表.min_row 获取工作表内最小行号
工作表.max_column 获取工作表内最大列号
工作表.min_column 获取工作表内最小列号
工作表.cell([row=]max_r+1,[column=]i).value=val[i-1] ①工作表内max_r+1行i列的值赋为
工作簿.save(r"C:\Users\爱吃猫的鱼\Desktop\test.xlsx") ②保存更改的值到指定地址
a=workbook["Sheet"] ①把workbook工作簿的Sheet工作表给a
s=workbook.copy_worksheet(a) ②把workbook工作簿的Sheet工作表内容复制给s
s.title="one1" ③给s重新取名为one1
workbook.save(t) ④保存到t地址
例子:
max_c=sheet02.max_column
max_r=sheet02.max_row
for i in range(max_c): # 打印一行值,第三行。i下标从0开始,到max_c减一
s = sheet02.cell(3,i+1).value
print(s)
for j in range(1,max_r+1): # 打印一列值,打印第一列
s=sheet02.cell(j,1).value
print(s)
sheet02.cell(1,2).value=33 # 把第一行第二的值符为33
Zmail 邮件操作:
一.Zmail模块
发送邮件,主要用在发送测试报告,日志信息
发送邮件可以指定发送人,收件人,发送内容和附件
优势:
1. 自动填充大多数导致服务端拒信的头信息(From To LocalHost之类的)
2. 将一个字典映射为email,构造信件就像构造字典一样简单
3. 自动寻找邮件服务商端口号地址,自动选择合适的协议,但是也只能用于python3
1. 安装方法
直接import zmail 直接操作安装即可
1. 发送邮件
(1). 普通发送多个账号邮件
mail_content={
'subject':'自动化测试报告!',#邮箱标题随便填写
'headers':‘邮件正文描述’,#邮箱正文内容,随便填写
'attachments':r'D:\test.txt' #给邮件添加附件 ,要记得转义字符
}
#使用你的邮箱账号名和邮箱的SMTP密码,这个需要申请一个
server = zmail.server('my1234@qq.com','mypassword')
#发送给多个账号
server.send_mail(['12341234@qq.com', '23452345@qq.com'], mail_content)
(2). 某个文件的内容读出来放到正文内容中进行发送
server = zmail.server('527361838@qq.com', 'ocnywbibakgvbjbd')
#读取html文件的内容
with open(r'D:\report\2021-04-28 20_07_43result.html','r',encoding='utf-8') as f:
content_html = f.read()
mail_content={
'subject':'自动化测试结果', #测试标题
#将内容作为正文内容进行发送
'headers':content_html,#发送的文件内容
#发送附件
'attachments':r'D:\Program Files\PycharmProjects\pythonCode\untitled4\testcase\bb\cc\error.png'
}
# 发送邮件,要发送的邮箱账户,内容
server.send_mail('12341234@qq.com',mail_content)
2. Zmail 中得到最新的发送邮件
import zmail
#登陆
server = zmail.server('my1234@qq.com', 'mypassword') mail = server.get_latest()
zmail.show(mail)
按照ID获取邮件内容
mail =server.get_mail(1)
zmail.show(mail)
二.Sendmail
优势都支持
1. 安装
import smtplib
from email.mime.text import MIMEText
2. 发送邮件
#传入一个要读取的文件内容
def send_mail(file_new):
#发信邮箱
mail_from='my1234@qq.com'
#收信邮箱
mail_to='12341234@qq.com'
#定义正文,从哪个路径读取文件
f = open(file_new, 'rb')
mail_body = f.read()
f.close()
msg=MIMEText(mail_body,_subtype='html',_charset='utf-8')
#定义标题
msg['Subject']=u"自动化测试报告" #定义发送时间(不定义的可能有的邮件客户端会不显示发送时间)
msg['date']=time.strftime('%a, %d %b %Y %H:%M:%S %z')
smtp=smtplib.SMTP()
#连接 SMTP 服务器,此处用的 QQ 的 SMTP 服务器
smtp.connect('smtp.qq.com')
#用户名和qq的smtp密码
smtp.login('my1234@qq.com','mypassword')
smtp.sendmail(mail_from,mail_to,msg.as_string())
smtp.quit()