在python中进行通知而不停止脚本

时间:2019-03-30 22:46:34

标签: python notifications

我正在使用python和opencv编写代码。如果未检测到人脸,则应通知Windows10用户。我用win10toast

import time
from win10toast import ToastNotifier

notif = ToastNotifier()

notif.show_toast(title= "Nusrat", msg= "One baby is missing")
time.sleep(10)

,但是在显示通知时它将停止代码。有什么方法可以使用gui或其他方式显示通知,但不会停止代码?

1 个答案:

答案 0 :(得分:0)

library's Github repo在着陆页示例中显示了如何避免阻塞:

x[paste0("condition", 1:nrow(cond))] <- 
         +(sapply(seq_len(nrow(cond)), function(i) 
         eval(parse(text=paste0("with(x,",cond[i,'condition'],")")))))

x
#  A B condition1 condition2
#1 1 2          0          0
#2 2 3          1          1
#3 3 4          1          0

您需要添加+(sapply(cond$condition, function(i) with(x, eval(parse(text=as.character(i)))))) # [,1] [,2] #[1,] 0 0 #[2,] 1 1 #[3,] 1 0 参数。仅当您要检查通知是否仍处于活动状态时才需要睡眠。

显示通知不是是一项阻止操作。 library's code在关闭窗口之前强制进行等于from win10toast import ToastNotifier import time toaster = ToastNotifier() toaster.show_toast("Example two", "This notification is in it's own thread!", icon_path=None, duration=5, threaded=True) # Wait for threaded notification to finish while toaster.notification_active(): time.sleep(0.1) 的睡眠:

threaded=True

duration将在单独的线程中执行# take a rest then destroy sleep(duration) DestroyWindow(self.hwnd) UnregisterClass(self.wc.lpszClassName, None) 流。坦白地说,有更清洁的方法可以做到这一点,例如使用一次性计时器。