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')

python中的日志操作和发送邮件的更多相关文章
- Python中的日志处理
在日常项目中,总是需要记录下一些细小信息或者错误码.错误信息的,这个时候就需要进行日志的操作.python中用于日志创建.设置和记录等功能的模块,就是logging了,下面是对其基本使用方法的介绍: ...
- python中的赋值操作和复制操作
之前一直写C#,变量之间赋值相当于拷贝,修改拷贝变量不会改变原来的值.但是在python中发现赋值操作本质是和C++中的引用类似,即指向同一块内存空间.下面通过一个例子说明: p=[0,1,2,3,4 ...
- python中的赋值操作
参考:https://www.cnblogs.com/andywenzhi/p/7453374.html?tdsourcetag=s_pcqq_aiomsg(写的蛮好) python中的赋值操作“=” ...
- python中OS模块操作文件和目录
在python中执行和操作目录和文件的操作是通过内置的python OS模块封装的函数实现的. 首先导入模块,并查看操作系统的类型: >>> import os os.name # ...
- Python中的字符串操作总结(Python3.6.1版本)
Python中的字符串操作(Python3.6.1版本) (1)切片操作: str1="hello world!" str1[1:3] <=> 'el'(左闭右开:即是 ...
- Python 中 logging 日志模块在多进程环境下的使用
因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,Python 中 logging 日志模块在多进程环境下的使用 使用 Pytho ...
- Python中的json操作
Python中的json操作 标签(空格分隔): python 编码 json 字符串前缀问题 字符串前缀可以有r,u r:表示原始(raw)字符串,比如'\n'不会被转义.常用于正则. u:表示un ...
- Python中的切片操作
python中的切片操作功能十分强大,通常我们利用切片来进行提取信息,进行相关的操作,下面就是一些切片的列子. 列如我们从range函数1-100中取7的倍数,函数及结果如下所示: >>& ...
- python中的句柄操作
python中的句柄操作 制作人:全心全意 通过窗口标题获取句柄 import win32gui hld = win32gui.FindWindow(None,u"Adobe Acrobat ...
随机推荐
- poj2559 Largest Rectangle in a Histogram
洛谷上做过一道一样的题(P1719 最大加权矩形),但是没写博客... 现在已一个新高度来看待这题,沿用以前的方法,感觉很好(草稿纸模拟数小时后20分钟AC) 就是对于每一个位置,记录能够往右延伸多远 ...
- 2050 Programming Competition (CCPC)
Pro&Sol 链接: https://pan.baidu.com/s/17Tt3EPKEQivP2-3OHkYD2A 提取码: wbnu 复制这段内容后打开百度网盘手机App,操作更方便哦 ...
- 第十二节,TensorFlow读取数据的几种方法以及队列的使用
TensorFlow程序读取数据一共有3种方法: 供给数据(Feeding): 在TensorFlow程序运行的每一步, 让Python代码来供给数据. 从文件读取数据: 在TensorFlow图的起 ...
- Idea2017.3.5+SpringBoot--热部署
首先建立工程的时候要选择DevTools: 然后File----Settings 然后 点击OK,然后Ctrl+Alt+Shift+/ 当当当当!!出来下面这个,点击Registry 找到这一项,勾选 ...
- jenkins学习:jenkins+maven
之前配置了jenkins+gitlab,jenkins已经可以从gitlab上面拉取代码了,执行项目构建还要加一个maven. 1.配置全局的maven 系统管理-全局工具配置-配置maven的地址 ...
- fiddler接口测试,js代码修改日志展示(埋点用)
fiddler 通过fiddler 发送接口信息: http://blog.csdn.net/java2013liu/article/details/53380381 rules--automatic ...
- 使用perconna xtrabackup备份脚本
使用percona xtrabackup对两个数据库实例进行备份,备份的脚本如下所示: #!/bin/bash BASEDIR="/usr/local/mysql" BIN=&qu ...
- Grunt安装与环境配置
公司项目还没有前后端分离,而前端是使用node.js搭建起来的,现在需要自己动手开发,故学习下并做为记录防止以后忘记. grunt依赖node.js,所以在安装之前确保你安装了 Node.js.然后开 ...
- beego 实现API自动化文档
安装beego和bee工具 1.beego安装 go get -u github.com/astaxie/beego 2.安装bee工具 go get -u github.com/beego/bee ...
- jupyter notebook的安装与使用
一.jupyter notebool介绍 Jupyter Notebook是Ipython的升级版,而Ipython可以说是一个加强版的交互式 Shell,也就是说,它比在terminal里运行pyt ...