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 ...
随机推荐
- A1138. Postorder Traversal
Suppose that all the keys in a binary tree are distinct positive integers. Given the preorder and in ...
- A1009. Product of Polynomials
This time, you are supposed to find A*B where A and B are two polynomials. Input Specification: Each ...
- Django(十)COOKIE和session
https://www.cnblogs.com/haiyan123/p/7763169.html from django.shortcuts import render,redirect # Crea ...
- Hibernate 二(一级缓存,多表设计之一对多)
1 对象状态与一级缓存 1.1 状态介绍 l hibernate 规定三种状态:瞬时态.持久态.脱管态 l 状态 瞬时态:transient,session没有缓存对象,数据库也没 ...
- Counted(内存管理机制)
class Counted { private: unsigned int count_; public: Counted() : count_() { } virtual ~Counted() { ...
- CSS 条件判断、等宽字体以及ch单位
<!DOCTYPE> <html lang="en"> <head> <meta charset="utf-8"> ...
- Android Studio 每次运行都会再下载一遍,修改
Android Studio 每次运行都会再下载一遍 把 gradle 设置 use local gradle distribution
- 10款 Mac 系统优化清理工具软件推荐和下载
本文内容及图片来源[风云社区 SCOEE] 在Windows上有各种安全卫士.系统助手等系统优化和清理工具,比如360安全卫士.腾讯安全管家等,同样MacOS系统也有很多好用的系统优化清理工具,体验比 ...
- 怎么用ajax下载文件
可能大家都觉得没有必要用ajax来下载东西,用window.open(url)就可以搞定 但是这有一个问题,就是这就限定了只能用GET方式来请求了: 可能你又会说GET很符合REST的要求呀. 但是如 ...
- hd loadBalanceServer F5 BIG-IP / Citrix NetScaler / Radware / Array / HAProxy /
s 五.Citrix NetScaler 和 CDN 案例 问题描述: Citrix 10.5.66.9软件版本下,存在计时器bug,此bug会造成CDN长连接回源超过设备默认的180S,会发fin包 ...