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
  • 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来解决该问题。

原文地址:https://www.cnblogs.com/blueteer/p/10168414.html