idea来源
最近跑模型时候特征处理需要好久,也不知道什么时候能结束。百无聊赖,躺在床上等。躺在床上也毫无心情休息,还得时刻想着去瞄两眼屏幕看看结果出来没。于是我在想能不能做个模块能够在函数出结果后提示我一下。于是我就想到了迅雷下载完成后的叮铃声。
有了idea后,开始构思如何实现,并且方便好用。想到了python的语法糖,用装饰器实现。具体实现过程,这里就不多说,直接上文档。
介绍
pynotice可以在你的函数执行结束或者异常后播放音频或者发送邮件通知你的python3模块。
功能使用默认或者自定义的wav文件路径
发送带有图片或者txt附件的电子邮件
python装饰器编写你的代码
无需配置SMTP服务器,当然也可以通过函数的参数配置
安装
只支持python3,模块已经上传到pypi上,国内源不知道什么时候能更新。
pip install pynotice
如果国内源找不到模块,可以在下面的链接里下载whl文件pynoticegithub.com
使用方法
-音频-
函数运行结束时通过音频通知
from pynotice.sound.notice import noticeOnFinish
@noticeOnFinish()
def foo(name="foooo"): # 你所要通知的函数
return name
ret = foo()
print(ret)
函数异常时通过音频通知
from pynotice.sound.notice import noticeOnException, noticeOnFinish
@noticeOnFinish()
@noticeOnException()
def foo(name="aaa"):
return name
-电子邮件-
函数结束时通过邮件通知
from pynotice.mail.notice import noticeOnFinish
import numpy as np
sender = "xxx@gmail.com"
code = "xxxxxxxxxxxxxxxx" # SMTP 授权码
receiver = "xxx@foxmail.com" # list or str
# 您也可以指定一个附件
@noticeOnFinish(sender, code, receiver, attachments=['demo.txt'])
def foo(name="aaa"):
x = np.array([[1, 2, 3], [2, 3, 4]])
for i in range(100):
if i%20==0:
print(i)
np.savetxt("demo.txt", x)
return x, [1,23,5,4], name
ret = foo()
print(ret)
程序异常时通过邮件通知
from pynotice.mail.notice import noticeOnException, noticeOnFinish
sender = "xxx@gmail.com"
code = "xxxxxxxxxxxxxxxx" # SMTP 授权码
receiver = "xxx@foxmail.com" # list or str
@noticeOnFinish(sender, code, receiver,attachments=[])
@noticeOnException(sender, code, receiver)
def foo(name="aaa"):
return "ccc"
re = foo()
导入模块filetypepypi.orgsimpleaudiopypi.org
zmailpypi.org
资源
模块中的两个wav音频是从这里下载的。本来想用ipad自己做的,但是自己做的实在不太合适...
最后
附上项目链接shaoeric/pynoticegithub.com
如果大家觉得本菜鸡写的模块有用,请别吝惜您的star and fork。/狗头保命