《Python数据处理》第十四章笔记
一、Python日志
源码及其注释
import logging
from datetime import datetime
def start_logger():
‘’‘日志初始化设置、文件名(时间)、DEBUG为调试级别(级别导致输出内容的不同)、日志的记录格式、日期格式’’’
logging.basicConfig(filename='daily_report_error_%s.log' %
datetime.strftime(datetime.now(), '%m%d%Y_%H%M%S'),
level=logging.ERROR,
format='%(asctime)s %(message)s',
datefmt='%m-%d %H:%M:%S')
def main():
start_logger()
'''日志记录,SCRIPT:为日志输出前缀,logging。debug代表输出级别'''
logging.debug("SCRIPT: I'm starting to do things!")
try:
'''此为执行的主内容'''
20 / 0
except Exception:
logging.exception('SCRIPT: We had a problem!')
logging.error('SCRIPT: Issue with division in the main() function')
logging.debug('SCRIPT: About to wrap things up!')
if __name__ == '__main__':
main()
此处有不同:
源码:
logging.basicConfig(filename='/var/log/my_script/daily_report_%s.log' %
datetime.strftime(datetime.now(), '%m%d%Y_%H%M%S'),
level=logging.DEBUG,
format='%(asctime)s %(message)s',
datefmt='%m-%d %H:%M:%S')
#/var/log/my_script/为路径
logging.basicConfig(filename='daily_report_error_%s.log' %
datetime.strftime(datetime.now(), '%m%d%Y_%H%M%S'),
level=logging.ERROR,
format='%(asctime)s %(message)s',
datefmt='%m-%d %H:%M:%S')
理解:其实就是print方法的模块化
二、邮件
一、问题:
email不用下载,下载还出错。
但是函数名字盖了,需要变为
参见《Python3.5 email发送邮件,包含txt、图片、HTML、附件》,链接: link.
而ConfigParser 需要下载
import ConfigParser 会报错
需要
import configparser
太复杂,最后放弃了
成功的程序参见《《python调试》python发邮件出现smtplib.SMTPServerDisconnected: Connection unexpectedly closed问题的解决办法》,链接: link.
注:不需要用密码而是授权码,
QQ授权码的获取:
第一步:
登录QQ邮箱
第二步:
选着账户选项,
第三步:
下拉找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,点击开启POP3/SMTP服务 (如何使用 Foxmail 等软件收发邮件?)
即可获取授权码
之后即可