日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網(wǎng)站首頁 編程語言 正文

Python調(diào)用win10toast框架實現(xiàn)定時調(diào)起系統(tǒng)通知_python

作者:Python?集中營 ? 更新時間: 2022-04-09 編程語言

前言

win10toast是一個windows通知的出發(fā)框架,使用它可以輕松的調(diào)起系統(tǒng)通知。通過它可以很方便的做一個定時通知的功能應用。

實現(xiàn)步驟

安裝調(diào)起通知的依賴庫

pip install win10toast

導入相關的第三方依賴庫

from win10toast import ToastNotifier  # 導入系統(tǒng)通知對象
import time  # 系統(tǒng)時間模塊
import datetime
from threading import Timer  # 定時器

初始化通知調(diào)用對象

notify = ToastNotifier()  # 初始化系統(tǒng)通知對象

初始化windows通知相關的參數(shù),設置定時通知間隔時間等。

notify_head = '主人,來通知啦!'
notify_min = 1.0
notify_text = '已經(jīng)過了' + str(int(notify_min)) + '分鐘了,該喝水了!'

notify_sen = notify_min * 1

通知調(diào)起時,是使用win10toast的show_toast()函數(shù),參數(shù)和定義如下面。

'''
    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()函數(shù)的使用,采用timer定時器來定時的調(diào)起應用發(fā)送通知。

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()

主函數(shù)入口調(diào)用。

if __name__ == '__main__':
    show_toast()

補充

Win10 沒有提供簡單命令行方式來觸發(fā)桌面通知,所以只能使用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='通知內(nèi)容')
args = parser.parse_args()


toaster = ToastNotifier()

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

qBittorrent 提供了一些參數(shù)可以傳遞給調(diào)用程序,使用?argparse?內(nèi)建模塊來接收。

qBittorrent 運行外部程序

python <腳本路徑>/qb_win_toast.py --title "下載完成" --message "%N 下載完成"

原文鏈接:https://www.cnblogs.com/lwsbc/p/15851236.html

欄目分類
最近更新