python中的日志操作和发送邮件
1、python中的日志操作
- 安装log模块:pip install nnlog
- 参数:my_log = nnlog.Logger('server_log.log',level='debug',backCount=5,when='D',interval=2)
- ‘server_log.log’ 日志文件名称,必填参数
- level 指log的级别,默认为debug级别。总共有debug,info, warning, error这四种级别
- backCount=5 为默认值,是日志的保存时间,保存几天的日志
- when=‘D’ 为默认值,指按照天保存日志,可以为分钟,秒
- interval=1 为默认值,间隔时间
import nnlog nnlog.Logger.words='哈哈哈哈' log = nnlog.Logger('book_server.log') # debug 最详细的log内容 # info 显示调用方法等信息 # warning 显示warning和error的log # error 只显示error的log log.surprise() log.debug('xxx值是什么') log.info('调用了什么xxx') log.warning('xx警告!') log.error('xxx出错!')
2、python操作自动发送邮件
- yagmail.SMTP
- username:邮箱账号
- passwd:获取邮箱授权码,注意不是邮箱登录密码
-
- QQ邮箱:设置→帐户→POP3/SMTP服务开启→生成授权码
- 163邮箱:设置→客户端授权密码→设置客户端授权码开启
-
-
- host:
- QQ邮箱:smtp.qq.com
- 163邮箱:smtp.163.com
- smtp_ssl=True:安全协议的,现在大部分邮箱都是有这个,可以自己尝试。如QQ邮箱,126,139邮箱等,需要设置安全协议为True
- host:
- mail.send
- to:收件人,to='xxxx@qq.com' 。如果需要发送给多人,to=['xxx@qq.com','xxx@qq.com']
- cc:抄送人,cc='xxxx@qq.com' 。如果需要抄送给多人,cc=['xxx@qq.com','xxx@qq.com']
- subject:邮件主题
- contents:邮件正文
- attachment:附件,如果发送附件名称中文乱码,使用更新后的文件yagmail-0.10.212-py2.py3-none-any.whl
import yagmail username='uxxxp4p@163.com' password='hxxxxxx3'#生成授权码,qq、163、126都是授权码 mail_server = 'smtp.163.com' # mail_server = 'smtp.qq.com' # mail_server = 'smtp.126.com' m = yagmail.SMTP(user=username,password=password,host=mail_server) # smtp_ssl=True,如果邮箱使用了安全协议,就需要加这个 #qq邮箱等就是使用了安全协议 to = ['1137xxxx@qq.com','wxxx16@163.com','xxxx@qq.com'] cc = ['613xxxx7@qq.com','1196xxxx2@qq.com','1xxxxx04@qq.com']# 发送给多人,to传list(win10路径写\\)
m.send(to=to,cc=cc,subject='今天吃了吗', contents='今天吃鱼肉了吗,吃饱没', attachments=r'tools.py')
注意:上传附件中含有中文时,会出现乱码,可以安装 yagmail-0.10.212-py2.py3-none-any.whl来解决该问题。