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

 更新时间:2022年01月28日 11:07:14   作者:Python 集中营  
win10toast是一个windows通知的出发框架,使用它可以轻松的调起系统通知。通过它可以很方便的做一个定时通知的功能应用。本文将调用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调起系统通知内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Tensorflow 自定义loss的情况下初始化部分变量方式

    Tensorflow 自定义loss的情况下初始化部分变量方式

    今天小编就为大家分享一篇Tensorflow 自定义loss的情况下初始化部分变量方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • 利用Python破解摩斯密码

    利用Python破解摩斯密码

    摩尔斯电码( 又译为摩斯密码,英语:Morse code)是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。本文将通过Python代码来实现破解摩斯密码,感兴趣的可以学习一下
    2022-02-02
  • python回归分析逻辑斯蒂模型之多分类任务详解

    python回归分析逻辑斯蒂模型之多分类任务详解

    这篇文章主要为大家介绍了python回归分析逻辑斯蒂模型之多分类任务详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • django中send_mail功能实现详解

    django中send_mail功能实现详解

    这篇文章主要给大家介绍了关于django中send_mail功能实现的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-02-02
  • Centos7 Python3下安装scrapy的详细步骤

    Centos7 Python3下安装scrapy的详细步骤

    这篇文章主要介绍了Centos7 Python3下安装scrapy的详细步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • django正续或者倒序查库实例

    django正续或者倒序查库实例

    这篇文章主要介绍了django正续或者倒序查库实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • 安装PyTorch的详细过程记录

    安装PyTorch的详细过程记录

    PyTorch是一个基于Python的科学计算框架,用于进行深度学习相关研究,下面这篇文章主要给大家介绍了关于安装PyTorch的详细过程,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-03-03
  • python进度条库tqdm使用记录(特点和用法)

    python进度条库tqdm使用记录(特点和用法)

    tqdm是一个Python库,用于在命令行界面中创建美观的进度条,以跟踪代码中循环、迭代和任务的执行进度,本文给大家介绍python进度条库tqdm使用记录,感兴趣的朋友跟随小编一起看看吧
    2023-10-10
  • Pycharm+Flask零基础项目搭建入门的实现

    Pycharm+Flask零基础项目搭建入门的实现

    本文主要介绍了Pycharm+Flask零基础项目搭建入门的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • python中的colorlog库使用详解

    python中的colorlog库使用详解

    这篇文章主要介绍了python中的colorlog库详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07

最新评论