Python-模块复用&发邮件&写日志

1.模块复用

import a # 实质是将a模块的代码从头到尾执行一遍
import b # 导入同包模块(一个python就是一个模块),报红不影响执行
b.hh() # 表示使用b模块下的hh()函数
from b import hh # 导入b模块,与上一种方法区别在于,调用的时候可以直接使用hh()
if __name__ == '__main__':  # 写在此函数下的文件,在本模块被别的模块导入复用时,不会执行此函数下的代码
查找模块的顺序:
1、导入模块的时候首先从当前目录下找
2、当前目录下没有,从python环境(sys.path)中找
注:只有这两个顺序,无其他

import sys
print(sys.path)  # 此句打印出的路径下的文件均可以被导入(均是python环境的路径)且不报红
sys.path.append(r'E:\PycharmProjects\SZZ\day')  # 将其他包下的文件的路径加入python环境中,加入到最后,即可导入其他包的模块进行复用
sys.path.insert(0,r'E:\PycharmProjects\SZZ\day\a.py') # 功能同上,0表示将路径加入到Python路径最前面,性能更好

 

2.发邮件

# 使用时,邮箱需要设置开启客户端授权码
# 抄送和附件不是必传的参数
import yagmail # 存在bug,中文附件会显示乱码--无bug安装包已上传网盘 user = 'XXXXXXX@XX.com' # 邮箱用户名 passwd = 'XXXXXX' # 邮箱授权码 smtp_host = 'XXXXX' # 邮箱服务器地址 mail = yagmail.SMTP(user=user,password=passwd,host=smtp_host) # 连接上邮箱 mail.send(to='XXX@XXX.com', cc='XXX@XXX.com', subject='发送邮件', contents='邮件发送练习', attachments=r'C:\Users\Administrator\Desktop\表格.docx') # to表示发给谁,cc表示抄送给谁,contents表示邮件主题,attachments表示附件路径 # 若是发给多个人,则使用list mail.send(to=['hxn0823@126.com','1169153362@qq.com'], cc=['1169153362@qq.com','hxn0823@126.com'], subject='发送邮件', # 邮件主题 contents='邮件发送练习', # 邮件正文 attachments='test.log') # 邮件附件

 

3.写日志

import nnlog  # 导入写日志模块

log = nnlog.Logger('test.log', level='error', backCount=3, when='S')  # test.log表示将日志生成一个文件
# level表示打印哪个级别的日志,backCount表示保留最近3天的日志,when表示多久产生一个(D,H,M,S分别表示天,时,分,秒),默认每天产生一个日志

# 级别从低到高:
log.debug('debug...')  # 一些变量值信息,看变量值这些(最低级别),默认为debug
log.info('info...')  # 一些提示信息
log.warning('warning...')  # 警告信息
log.error('error...')  # 出错信息
log.surprise()  # 惊喜函数(搞笑专用)

 

posted @ 2019-05-24 16:11  情绪疯子  阅读(263)  评论(0编辑  收藏  举报