才知道python还可以这样发消息提醒的

之前一直以为 python 发消息,必须依赖第三方库,比如 plyer

今天使用AI编写消息提醒功能,才发现还可以这样玩的。

python 复制代码
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 = '提醒内容'
            $balloon.BalloonTipTitle = '提醒标题'
            $balloon.Visible = $true
            $balloon.ShowBalloonTip(10000)
            Start-Sleep -Seconds 10
            $balloon.Dispose()
            '''

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

python 通过调用 powershell 脚本来让 powershell 发送消息,好巧妙啊。

相应的,也可以在 MacOSLinux 环境这样发消息。

python 复制代码
def _show_macos_notification(self, title, message):
    """在macOS系统显示通知"""
    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系统显示通知"""
    try:
        subprocess.run([
            'notify-send',
            title,
            message
        ], timeout=5)
    except Exception as e:
        print(f"显示Linux通知失败: {e}")

再配合上一个环境识别的 API ------ platform.system(),完全不依赖第三方,真完美!


好啦,今天就分享这个小技巧,欢迎三连哦!

相关推荐
会员源码网几秒前
闭包中未正确引用外部变量(遗漏`use ($var)`导致变量未定义)
程序员·代码规范
小码哥_常1 分钟前
Spring Boot接口防抖秘籍:告别“手抖”,守护数据一致性
后端
会员源码网3 分钟前
类继承中父类方法被错误覆盖(如父类`final`方法被子类重写)
程序员·全栈
心之语歌17 分钟前
基于注解+拦截器的API动态路由实现方案
java·后端
None32117 分钟前
【NestJs】基于Redlock装饰器分布式锁设计与实现
后端·node.js
初次攀爬者20 分钟前
Kafka + KRaft模式架构基础介绍
后端·kafka
洛森唛24 分钟前
Elasticsearch DSL 查询语法大全:从入门到精通
后端·elasticsearch
拳打南山敬老院1 小时前
Context 不是压缩出来的,而是设计出来的
前端·后端·aigc
初次攀爬者1 小时前
Kafka + ZooKeeper架构基础介绍
后端·zookeeper·kafka
LucianaiB1 小时前
Openclaw 安装使用保姆级教程(最新版)
后端