You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python饮水提醒程序致电脑卡顿,代码问题排查求助

代码问题分析与修复方案

核心问题1:无限循环无延迟,导致CPU占用过高卡顿

你的time.sleep(6)写在了while True循环的外面,这意味着循环会无间隔地反复执行通知代码,瞬间占用大量CPU资源,导致电脑卡顿,同时系统可能因为通知请求过于频繁而拒绝弹出通知。

修复:把time.sleep(6)移到循环内部,建议设置合理的间隔时长(比如3600秒=1小时):

if __name__ == '__main__':
    while True:
        notification.notify(
            # 其他参数...
        )
        time.sleep(3600)  # 移到循环内,每小时提醒一次

核心问题2:标题中的Markdown语法无效

title = "**Please Drink Water Now!!"里的**是Markdown加粗语法,但plyer的通知标题不支持该语法,会直接显示成带**的原始文本,需要去掉:

title = "Please Drink Water Now!!"

潜在问题3:图标格式与路径适配问题

Windows系统下,plyer的通知图标要求是.ico格式,.png可能无法正常显示。另外路径建议用Windows原生的转义反斜杠或原始字符串:

# 方法1:转义反斜杠
app_icon = "C:\\Users\\swast\\OneDrive\\Desktop\\pythProject\\media\\icon.ico"
# 方法2:原始字符串
app_icon = r"C:\Users\swast\OneDrive\Desktop\pythProject\media\icon.ico"

额外检查:Windows通知权限

确保你的Python运行环境(终端/IDE)有发送通知的权限:

  • 打开Windows设置 → 系统 → 通知 → 找到对应的终端或IDE,开启通知权限。

修复后的完整代码示例:

import time
from plyer import notification

if __name__ == '__main__':
    while True:
        notification.notify(
            title = "Please Drink Water Now!!",
            message = "The National Academies of Sciences, Engineering, and Medicine determined that an adequate daily fluid intake is: About 15.5 cups (3.7 liters) of fluids for men. About 11.5 cups (2.7 liters) of fluids a day for women.",
            app_icon = r"C:\Users\swast\OneDrive\Desktop\pythProject\media\icon.ico",
            timeout=12
        )
        time.sleep(3600)  # 每小时提醒一次

内容的提问来源于stack exchange,提问作者Swastik Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 21:55:26