import time
import sys
import os
def remind_write_log():
"""写日志提醒的核心函数:弹窗+终端文字提醒"""
# 终端打印醒目的提醒文字
print("="*50)
print("⏰ 【日志提醒】当前时间:{},该写日志啦!".format(time.strftime("%Y-%m-%d %H:%M:%S")))
print("="*50)
# 跨系统弹窗提醒(核心:不同系统调用内置弹窗命令,无第三方依赖)
msg = "该写日志啦!\n当前时间:{}".format(time.strftime("%Y-%m-%d %H:%M:%S"))
if sys.platform.startswith('win'):
# Windows系统:用msg命令弹窗(系统自带,无需额外安装)
os.system(f'msg * "{msg}"')
elif sys.platform.startswith('darwin'):
# macOS系统:用osascript调用系统通知
os.system(f'osascript -e \'display notification "{msg}" with title "日志提醒" sound name "default"\'')
else:
# Linux系统:用zenity弹窗(大部分Linux发行版自带,无则执行sudo apt install zenity)
os.system(f'zenity --info --title="日志提醒" --text="{msg}" --width=300')
def main():
"""主函数:每小时执行一次提醒,无限循环运行"""
print("📌 写日志定时提醒脚本已启动!")
print("📌 提醒频率:每小时一次 | 关闭脚本请按 Ctrl+C")
print("="*50)
# 先触发一次初始提醒(可选,注释掉则从1小时后开始提醒)
remind_write_log()
try:
# 无限循环,每3600秒(1小时)执行一次提醒
while True:
time.sleep(3600) # 暂停1小时
remind_write_log()
except KeyboardInterrupt:
# 捕获Ctrl+C,优雅退出
print("\n👋 写日志提醒脚本已手动关闭,下次见!")
if __name__ == "__main__":
main()