才知道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(),完全不依赖第三方,真完美!


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

相关推荐
猿界零零七2 小时前
pip install mxnet 报错解决方案
python·pip·mxnet
颜酱3 小时前
DFS 岛屿系列题全解析
javascript·后端·算法
小码哥_常4 小时前
Java后端定时任务抉择:@Scheduled、Quartz、XXL - Job终极对决
后端
不只会拍照的程序猿4 小时前
《嵌入式AI筑基笔记02:Python数据类型01,从C的“硬核”到Python的“包容”》
人工智能·笔记·python
uzong4 小时前
Skill 被广泛应用,到底什么是 Skill,今天详细介绍一下
人工智能·后端·面试
Jay_Franklin4 小时前
Quarto与Python集成使用
开发语言·python·markdown
小码哥_常5 小时前
Kafka平替!SpringBoot+Redis Stream+消费组打造极致消息队列
后端
Oueii5 小时前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python
2401_831824966 小时前
使用Fabric自动化你的部署流程
jvm·数据库·python
njidf6 小时前
Python日志记录(Logging)最佳实践
jvm·数据库·python