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
相关产品推荐
相关产品推荐

