最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實(shí)現(xiàn)發(fā)消息提醒功能的常見(jiàn)方法

 更新時(shí)間:2026年05月25日 08:48:27   作者:唐叔在學(xué)習(xí)  
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)發(fā)消息提醒功能的常見(jiàn)方法,文中的示例代碼講解詳細(xì),有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下

之前一直以為 python 發(fā)消息,必須依賴(lài)第三方庫(kù),比如 plyer

今天使用AI編寫(xiě)消息提醒功能,才發(fā)現(xiàn)還可以這樣玩的。

import subprocess

ps_script = f'''
            Add-Type -AssemblyName System.Windows.Forms
            $global:balloon = New-Object System.Windows.Forms.NotifyIcon
            $path = (Get-Process -Id $pid).Path
            $balloon.Icon = [System.Drawing.Icon]::ExtractAssociatedIcon($path)
            $balloon.BalloonTipIcon = [System.Windows.Forms.ToolTipIcon]::Info
            $balloon.BalloonTipText = '提醒內(nèi)容'
            $balloon.BalloonTipTitle = '提醒標(biāo)題'
            $balloon.Visible = $true
            $balloon.ShowBalloonTip(10000)
            Start-Sleep -Seconds 10
            $balloon.Dispose()
            '''

# 執(zhí)行PowerShell腳本
result = subprocess.run(
    ['powershell', '-Command', ps_script],
    capture_output=True,
    text=True,
    timeout=15
)

python 通過(guò)調(diào)用 powershell 腳本來(lái)讓 powershell 發(fā)送消息,好巧妙啊。

相應(yīng)的,也可以在 MacOSLinux 環(huán)境這樣發(fā)消息。

def _show_macos_notification(self, title, message):
    """在macOS系統(tǒng)顯示通知"""
    try:
        script = f'display notification "{message}" with title "{title}"'
        subprocess.run(['osascript', '-e', script], timeout=5)
    except Exception as e:
        print(f"顯示macOS通知失敗: {e}")

def _show_linux_notification(self, title, message):
    """在Linux系統(tǒng)顯示通知"""
    try:
        subprocess.run([
            'notify-send',
            title,
            message
        ], timeout=5)
    except Exception as e:
        print(f"顯示Linux通知失敗: {e}")

再配合上一個(gè)環(huán)境識(shí)別的 API —— platform.system(),完全不依賴(lài)第三方,真完美!

知識(shí)擴(kuò)展

用Python實(shí)現(xiàn)消息提醒的方式不少,從簡(jiǎn)單的桌面彈窗到跨平臺(tái)的即時(shí)通訊(IM)軟件推送,各有各的適用場(chǎng)景。

我的建議是,日常使用可以?xún)?yōu)先選擇統(tǒng)一通知庫(kù)(如Apprise)來(lái)提高效率;而工作中,直接使用平臺(tái)的官方API往往是更穩(wěn)定、長(zhǎng)久的選擇。

桌面通知(Windows / macOS / Linux)

日常開(kāi)發(fā)或本地測(cè)試用很方便,適合腳本運(yùn)行完成、報(bào)錯(cuò)等場(chǎng)景??缙脚_(tái)推薦用 Plyer,僅在Win10/11上可考慮 win10toast提示:務(wù)必從官網(wǎng)獲取證書(shū)和詳細(xì)操作指南,勿使用不明來(lái)源的庫(kù)。

示例:使用 Plyer(跨平臺(tái))

from plyer import notification
notification.notify(
    title="任務(wù)完成",
    message="數(shù)據(jù)處理已完成!",
    timeout=5  # 通知顯示時(shí)長(zhǎng)(秒)
)

示例:使用 win10toast(僅 Windows)

from win10toast import ToastNotifier
toaster = ToastNotifier()
toaster.show_toast("提醒", "該休息一下啦", duration=10)

電子郵件通知

通過(guò) SMTP 發(fā)送郵件,適合不需要即時(shí)回復(fù)的場(chǎng)景,推薦用于系統(tǒng)告警、日志等。

import smtplib
from email.message import EmailMessage
msg = EmailMessage()
msg['Subject'] = '報(bào)告生成完畢'
msg['From'] = 'sender@example.com'
msg['To'] = 'receiver@example.com'
msg.set_content('您的月度報(bào)告已生成,請(qǐng)查收附件。')
# 以 Gmail 為例,使用 SMTP 發(fā)送
with smtplib.SMTP_SSL('smtp.gmail.com', 465) as server:
    server.login('your_email@gmail.com', 'your_password')
    server.send_message(msg)

手機(jī)短信通知

配合 Twilio 等服務(wù)商 API,適合驗(yàn)證碼、重要警報(bào)等必須保證接收的場(chǎng)景。

from twilio.rest import Client
account_sid = 'your_account_sid'
auth_token = 'your_auth_token'
client = Client(account_sid, auth_token)
message = client.messages.create(
    body='服務(wù)器負(fù)載過(guò)高,請(qǐng)檢查!',
    from_='+1234567890', # Twilio 提供的號(hào)碼
    to='+0987654321'     # 你的手機(jī)號(hào)
)

即時(shí)通訊機(jī)器人(IM)

國(guó)內(nèi)最常用的是釘釘/飛書(shū)/企業(yè)微信,國(guó)外多用 Slack/Telegram,適合團(tuán)隊(duì)協(xié)作和反饋。

示例:釘釘群機(jī)器人

import requests, json
webhook_url = 'https://oapi.dingtalk.com/robot/send?access_token=xxx'
data = {"msgtype": "text", "text": {"content": "構(gòu)建失敗,請(qǐng)檢查日志!"}}
requests.post(webhook_url, json=data)

統(tǒng)一通知庫(kù):Apprise

如果你厭倦了為每個(gè)平臺(tái)寫(xiě)不同代碼,Apprise 可以讓你一套代碼通吃幾乎所有平臺(tái)。

安裝與使用

import apprise
ap = apprise.Apprise()
# 一行代碼接入一個(gè)平臺(tái),支持 70+ 服務(wù)
ap.add('telegram://bot_token/chat_id')
ap.add('mailto://user:pass@gmail.com')
ap.add('dingtalk://access_token?secret=xxx')
ap.add('slack://token_a/token_b/token_c')
# 一鍵群發(fā)
ap.notify(title='系統(tǒng)通知', body='所有服務(wù)運(yùn)行正常')

命令行用法

apprise -t "磁盤(pán)告警" -b "根分區(qū)使用率超過(guò)90%" "mailto://user:pass@gmail.com"

進(jìn)階:NotifyAll還有像notifyall這樣的替代庫(kù),提供了條件發(fā)送、延遲發(fā)送等高級(jí)功能:

import notifyall
n = notifyall.Notify()
n.add("telegram://bot_token/chat_id")
n.notify_if(cpu_usage > 90, "CPU負(fù)載過(guò)高!")
n.notify_repeat("這是一個(gè)提醒", times=3, interval=300)

到此這篇關(guān)于python實(shí)現(xiàn)發(fā)消息提醒功能的常見(jiàn)方法的文章就介紹到這了,更多相關(guān)python消息提醒內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python實(shí)現(xiàn)計(jì)算對(duì)象的內(nèi)存大小示例

    Python實(shí)現(xiàn)計(jì)算對(duì)象的內(nèi)存大小示例

    這篇文章主要介紹了Python實(shí)現(xiàn)計(jì)算對(duì)象的內(nèi)存大小,結(jié)合實(shí)例形式分析了Python使用sys.getsizeof與遞歸算法計(jì)算對(duì)象占用內(nèi)存的相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • python中的布隆過(guò)濾器用法及原理詳解

    python中的布隆過(guò)濾器用法及原理詳解

    這篇文章主要介紹了python中的布隆過(guò)濾器用法及原理詳解,布隆過(guò)濾器是一種概率空間高效的數(shù)據(jù)結(jié)構(gòu),它與hashmap非常相似,用于檢索一個(gè)元素是否在一個(gè)集合中。它在檢索元素是否存在時(shí),能很好地取舍空間使用率與誤報(bào)比例,需要的朋友可以參考下
    2023-07-07
  • 如何解決PyCharm顯示:無(wú)效的Python?SDK

    如何解決PyCharm顯示:無(wú)效的Python?SDK

    這篇文章主要介紹了在不同電腦之間傳輸Python項(xiàng)目時(shí)遇到的路徑問(wèn)題,并提供了解決方法,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2025-01-01
  • Python編寫(xiě)判斷真實(shí)文件類(lèi)型工具

    Python編寫(xiě)判斷真實(shí)文件類(lèi)型工具

    常在河邊走,哪能不濕鞋,網(wǎng)上獲取的各種文件后綴真真假假,甚至一不小心就會(huì)中招,所以本文就來(lái)用Python編寫(xiě)一個(gè)判斷真實(shí)文件類(lèi)型工具吧
    2025-01-01
  • 如何利用Python統(tǒng)計(jì)正數(shù)和負(fù)數(shù)的個(gè)數(shù)

    如何利用Python統(tǒng)計(jì)正數(shù)和負(fù)數(shù)的個(gè)數(shù)

    Python檢查數(shù)據(jù)中的正/負(fù)數(shù)是一種常見(jiàn)的數(shù)據(jù)處理操作,可以通過(guò)編寫(xiě)代碼來(lái)實(shí)現(xiàn),下面這篇文章主要給大家介紹了關(guān)于如何利用Python統(tǒng)計(jì)正數(shù)和負(fù)數(shù)的個(gè)數(shù)的相關(guān)資料,需要的朋友可以參考下
    2024-05-05
  • python使用tqdm庫(kù)實(shí)現(xiàn)循環(huán)打印進(jìn)度條

    python使用tqdm庫(kù)實(shí)現(xiàn)循環(huán)打印進(jìn)度條

    tqdm是一個(gè)用于在Python中添加進(jìn)度條的庫(kù),它可以很容易地集成到while循環(huán)中,這篇文章主要介紹了python循環(huán)打印進(jìn)度條,需要的朋友可以參考下
    2023-05-05
  • Eclipse + Python 的安裝與配置流程

    Eclipse + Python 的安裝與配置流程

    Eclipse的安裝是很容易的。Eclipse是基于java的一個(gè)應(yīng)用程序,因此需要一個(gè)java的運(yùn)行環(huán)境(JRE)才行。(我這里主要介紹windows下的安裝)
    2013-03-03
  • Python 玩轉(zhuǎn)圖像格式轉(zhuǎn)換操作

    Python 玩轉(zhuǎn)圖像格式轉(zhuǎn)換操作

    這篇文章主要介紹了Python 玩轉(zhuǎn)圖像格式轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • 深入理解Python __init_subclass__的使用

    深入理解Python __init_subclass__的使用

    本文主要介紹了Python __init_subclass__的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2026-05-05
  • python基礎(chǔ)教程之csv格式文件的寫(xiě)入與讀取

    python基礎(chǔ)教程之csv格式文件的寫(xiě)入與讀取

    逗號(hào)分隔值(Comma-Separated Values,CSV,也稱(chēng)為字符分隔值,分隔字符也可以不是逗號(hào)),新這篇文章主要給大家介紹了關(guān)于python基礎(chǔ)教程之csv格式文件的寫(xiě)入與讀取的相關(guān)資料,需要的朋友可以參考下
    2022-03-03

最新評(píng)論

佛学| 芷江| 屯留县| 桐庐县| 古交市| 蒙自县| 太仆寺旗| 秦安县| 中宁县| 延安市| 大足县| 安新县| 梓潼县| 泸定县| 安多县| 扬州市| 高雄市| 濮阳市| 江孜县| 河间市| 澎湖县| 磐安县| 武陟县| 开封市| 贵溪市| 含山县| 察哈| 惠州市| 桂东县| 江永县| 五峰| 宜兴市| 公主岭市| 兰坪| 龙游县| 美姑县| 剑川县| 铜陵市| 内黄县| 且末县| 集贤县|