Python调用win10toast框架实现定时调起系统通知

目录
  • 前言
  • 实现步骤
  • 补充
    • 使用与场景

前言

win10toast是一个windows通知的出发框架,使用它可以轻松的调起系统通知。通过它可以很方便的做一个定时通知的功能应用。

实现步骤

安装调起通知的依赖库

pip install win10toast

导入相关的第三方依赖库

from win10toast import ToastNotifier  # 导入系统通知对象
import time  # 系统时间模块
import datetime
from threading import Timer  # 定时器

初始化通知调用对象

notify = ToastNotifier()  # 初始化系统通知对象

初始化windows通知相关的参数,设置定时通知间隔时间等。

notify_head = '主人,来通知啦!'
notify_min = 1.0
notify_text = '已经过了' + str(int(notify_min)) + '分钟了,该喝水了!'

notify_sen = notify_min * 1

通知调起时,是使用win10toast的show_toast()函数,参数和定义如下面。

'''
    def show_toast(self, title="Notification", msg="Here comes the message",
                    icon_path=None, duration=5, threaded=False):
        """Notification settings.

        :title: notification title
        :msg: notification message
        :icon_path: path to the .ico file to custom notification
        :duration: delay in seconds before notification self-destruction
        """
'''

show_toast()函数的使用,采用timer定时器来定时的调起应用发送通知。

def show_toast():
    print('当前时间:%s' % (datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')))
    notify.show_toast(f"{notify_head}", f"{notify_text}", duration=5, threaded=True, icon_path='水杯.ico')
    while notify.notification_active():
        time.sleep(0.005)
    timer = Timer(notify_sen, show_toast)
    timer.start()

主函数入口调用。

if __name__ == '__main__':
    show_toast()

补充

Win10 没有提供简单命令行方式来触发桌面通知,所以只能使用Python来写通知脚本。

一番搜索,找到 win10toast 。但这开源仓库已无人维护,通过 github fork 的关系图,找到 win10toast-click,一个正在更新功能更全的 Python 第三方模块。

使用与场景

qBittorrent 支持下载完成后运行外部程序,由于 qBittorrent 没有下载完成后桌面通知的功能,所以我们通过Python脚本来完成。

通过 win10toast-click 仓库中示例,就可以完成一个简单的通知脚本。

import argparse
from win10toast_click import ToastNotifier

parser = argparse.ArgumentParser()
parser.add_argument('--title', help='通知标题')
parser.add_argument('--message', help='通知内容')
args = parser.parse_args()

toaster = ToastNotifier()

toaster.show_toast(title=args.title, msg=args.message)

qBittorrent 提供了一些参数可以传递给调用程序,使用 argparse 内建模块来接收。

qBittorrent 运行外部程序

python <脚本路径>/qb_win_toast.py --title "下载完成" --message "%N 下载完成"

到此这篇关于Python调用win10toast框架实现定时调起系统通知的文章就介绍到这了,更多相关Python win10toast调起系统通知内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 用Python实现校园通知更新提醒功能

    前言 这个项目实已经在一个月前已经完成了,一直都想写一篇博客来总结这个过程中遇到的一些问题.但最近一个月来都比较忙,所以一直拖到了现在. 首先说说起因吧,我没事的时候,总喜欢依次点开学校主页.教务处.图书馆以及学院的网站,看看有没有什么新通知,虽然大多与我无关.恰逢最近正在学Python,经常听到别人说用Python写爬虫很简单,但自己尚未接触过爬虫.于是抱着试一试的心态看了几篇关于Python爬虫的博客,发现实现起来的确很简单.于是,便一边看着官方的文档说明,一边看着别人的博客,终于完成了自己

  • Python实现发送警告通知到企业微信方法详解

    目录 1. 新建应用 2. 获取Secret 常见的报警方式有:邮件,电话,短信,微信. 短信和电话,通常是收费的(若你有不收费的,可以评论分享一下),而邮件又不是那么及时,因此最后我选择微信通知. 这里说的微信,是企业微信,而我之前注册过个体户的执照,因此可以很轻松就可以注册自己的企业微信. 1. 新建应用 登陆网页版企业微信(https://work.weixin.qq.com/), 点击 应用管理 -> 应用 -> 创建应用 上传应用的 logo,输入应用名称,再选择可见范围,成功创建一

  • 教你用 Python 发送告警通知到微信的操作过程

    常见的告警方式有:邮件,电话,短信,微信. 短信和电话,通常是收费的(若你有不收费的,可以评论分享一下),而邮件又不是那么及时,因此最后我选择微信通知. 这里说的微信,是企业微信,而我之前用注册过个体户的执照,因此可以很轻松就可以注册自己的企业微信. #  1. 新建应用 登陆网页版企业微信 (https://work.weixin.qq.com/),点击 应用管理 ->  应用 ->  创建应用 上传应用的 logo,输入应用名称,再选择可见范围,成功创建一个告警应用 #  2. 获取Sec

  • python使用jenkins发送企业微信通知的实现

    如果只是想实现将jenkins的构建结果发送到企业微信进行通知,最简便的方式是安装Qy Wechat Notification Plugin插件,网上教程很多就不重复写了,可参考: 一.前言 最近使用Jenkins进行自动化部署,但是部署后,并没有相应的通知,虽然有邮件发送通知,但是发现邮件会受限于接收方的接收设置,导致不能及时看到相关的发布内容.而由于公司使用的是企业微信,因此考虑Jenkins通知企业微信机器人的实现方式. 二.使用企业微信推送的优势 实时提醒项目参与人员项目信息的更新情况

  • 利用Python实现手机短信监控通知的方法

    日常运维工作中,通常是邮件报警机制,但邮件可能不被及时查看,导致问题出现得不到及时有效处理.所以想到用Python实现发短信功能,当监控到问题出现时,短信报警,使问题能得到及时的处理.当然,我相信,用Python发短信应用场景不止此一处,下面我们开始Python发短信的实现. 首先,看下成果展示: 然后,看下代码实现: 是不是非常简单! 现在开始具体讲解,如何实现Python发短信功能. 操作步骤 1.安装模块 twilio pip install twilio 2.申请获得twilio的API

  • Python调用win10toast框架实现定时调起系统通知

    目录 前言 实现步骤 补充 使用与场景 前言 win10toast是一个windows通知的出发框架,使用它可以轻松的调起系统通知.通过它可以很方便的做一个定时通知的功能应用. 实现步骤 安装调起通知的依赖库 pip install win10toast 导入相关的第三方依赖库 from win10toast import ToastNotifier # 导入系统通知对象 import time # 系统时间模块 import datetime from threading import Tim

  • python调用staf自动化框架的方法

    1.配置环境 支持python2和python3 On Linux, Solaris, or FreeBSD, add the /usr/local/staf/lib directory to your PYTHONPATH, assuming you installed STAF to directory /usr/local/staf. For example: export PYTHONPATH=/usr/local/staf/lib:$PYTHONPATH On Mac OS X, ad

  • python调用文字识别OCR轻松搞定验证码

    今天带你们去研究一个有趣的东西,文字识别OCR.不知道你们有没有想要识别图片,然后读出文字的功能.例如验证码,如果需要自动填写的话就需要这功能.还有很多种情况需要这功能的. 我们可以登录百度云,然后看看里面的接口文档.接口功能还是有比较丰富的应用场景的. # encoding:utf-8 import requests import base64 ''' 通用文字识别 ''' request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/gene

  • python调用有道智云API实现文件批量翻译

    最近工作过程中,需要对一批文件进行汉译英的翻译,对单个文档手工复制.粘贴的翻译方式过于繁琐,考虑到工作的重复性和本人追求提高效率.少动手(懒),想通过调用已有的接口的方法,自己实现一个批量翻译工具,一劳永逸.在网上找了几款翻译API,通过对比翻译的结果和学习成本,选择了有道智云的服务,自己开发了一个批量翻译的小软件.详细记录一下使用和开发过程,后面的小伙伴们有相关需求,可以参考. 批量文档翻译工具的使用 我这里开发批量文档翻译工具使用python作为开发工具,功能如下:      1)通过文件夹

  • Python之Web框架Django项目搭建全过程

    Python之Web框架Django项目搭建全过程 IDE说明: Win7系统 Python:3.5 Django:1.10 Pymysql:0.7.10 Mysql:5.5 注:可通过pip freeze查看已安装库版本信息. Django 是由 Python 开发的一个免费的开源网站框架,可以用于快速搭建高性能,优雅的网站! Django 特点 强大的数据库功能 用python的类继承,几行代码就可以拥有一个丰富,动态的数据库操作接口(API),如果需要你也能执行SQL语句. 自带的强大的后

  • Python的Tornado框架的异步任务与AsyncHTTPClient

    高性能服务器Tornado Python的web框架名目繁多,各有千秋.正如光荣属于希腊,伟大属于罗马.Python的优雅结合WSGI的设计,让web框架接口实现千秋一统.WSGI 把应用(Application)和服务器(Server)结合起来.Django 和 Flask 都可以结合 gunicon 搭建部署应用. 与 django 和 flask 不一样,tornado 既可以是 wsgi 应用,也可以是 wsgi 服务.当然,选择tornado更多的考量源于其单进程单线程异步IO的网络模

  • 基于Python的接口测试框架实例

    背景 最近公司在做消息推送,那么自然就会产生很多接口,测试的过程中需要调用接口,我就突然觉得是不是可以自己写一个测试框架? 说干就干,由于现有的接口测试工具Jmeter.SoupUI等学习周期有点长,干脆自己写一个吧,不求人,所有功能自己都能一清二楚. 当然,写工具造轮子只是学习的一种方式,现成成熟的工具肯定比我们自己的写的好用. 开发环境 ------------------------------------------------------------- 操作系统:Mac OS X EI

  • Python抓取框架 Scrapy的架构

    最近在学Python,同时也在学如何使用python抓取数据,于是就被我发现了这个非常受欢迎的Python抓取框架Scrapy,下面一起学习下Scrapy的架构,便于更好的使用这个工具. 一.概述 下图显示了Scrapy的大体架构,其中包含了它的主要组件及系统的数据处理流程(绿色箭头所示).下面就来一个个解释每个组件的作用及数据的处理过程. 二.组件 1.Scrapy Engine(Scrapy引擎) Scrapy引擎是用来控制整个系统的数据处理流程,并进行事务处理的触发.更多的详细内容可以看下

  • Python:Scrapy框架中Item Pipeline组件使用详解

    Item Pipeline简介 Item管道的主要责任是负责处理有蜘蛛从网页中抽取的Item,他的主要任务是清晰.验证和存储数据. 当页面被蜘蛛解析后,将被发送到Item管道,并经过几个特定的次序处理数据. 每个Item管道的组件都是有一个简单的方法组成的Python类. 他们获取了Item并执行他们的方法,同时他们还需要确定的是是否需要在Item管道中继续执行下一步或是直接丢弃掉不处理. Item管道通常执行的过程有 清理HTML数据 验证解析到的数据(检查Item是否包含必要的字段) 检查是

  • Python及Django框架生成二维码的方法分析

    本文实例讲述了Python及Django框架生成二维码的方法.分享给大家供大家参考,具体如下: 一.包的安装和简单使用 1.1 用Python来生成二维码很简单,可以看 qrcode 这个包: pip install qrcode qrcode 依赖 Image 这个包: pip install Image 如果这个包安装有困难,可选纯Python的包来实现此功能,见下文. 1.2 安装后就可以使用了,这个程序带了一个 qr 命令: qr 'http://www.ziqiangxuetang.c

随机推荐