# encoding=utf-8
import random
import re
import time
# 异常详细的信息模块
import traceback
import logging
import tkinter # Python窗口类
logging.basicConfig(
filename='python_yzy.log',
filemode='w+', # w+ 读写 如果有文件,则清空,然后写入 。。。如果没有该文件,则创建新文件
level=logging.DEBUG, # 最低显示级别
format='[%(levelname)s] - %(asctime)s - %(filename)s[line:%(lineno)d]: %(message)s'
)
logging.error('avoid right top hide...\n\n')
''' 每隔10分钟,屏幕会弹出窗口 提示休息 '''
# ----------------------------------------------------
def bind_close(obj):
global window_tk
window_tk.destroy()
def get_py_window():
global window_tk
window_tk = tkinter.Tk()
window_tk.title('TK') # 设置窗口标题
window_tk.geometry('1600x900') # 窗口大小
label_tk = tkinter.Label(window_tk, text='时间到了,双眼清澈的二哈\n右键刷新定时', font=('Arial', 30)) # 标签
label_tk.pack() # 显示标签
window_tk.bind('<ButtonRelease-3>', bind_close) # 右键释放时,触发
window_tk.mainloop() # 让窗口保持运行
# -----------------------------------------------
''' 定时计划 '''
def clocked_plan(start_time, end_time, repeat_interval):
logging.info('定时任务的start_time:%s' % (start_time))
logging.info('定时任务的end_time:%s' % (end_time))
# 转换成时间数组
timeArray = time.strptime(start_time, '%Y-%m-%d %H:%M:%S')
# 转换成时间戳
start_time = time.mktime(timeArray)
# 转换成时间数组
timeArray = time.strptime(end_time, '%Y-%m-%d %H:%M:%S')
# 转换成时间戳
end_time = time.mktime(timeArray)
while True:
current_time = time.time()
# 当前时间在[start_time, end_time]范围内时,就正常触发
if current_time >= start_time and current_time <= end_time:
logging.info('触发--')
get_py_window() # 窗口运行结束之后,才进入下一行(很重要)
time.sleep(repeat_interval) # 以秒为单位, 间隔x秒、x*60分、x*60*60小时,去重复执行
# 当前时间还没到start_time,需要等待
elif current_time < start_time:
time.sleep(1) # 每一秒,检查当前时间 是否在[start_time, end_time]范围内
# 如果当前时间 已经超过end_time, 需要退出
elif current_time > end_time:
logging.info('定时任务 已在\"结束时间点\"结束')
break
start_time = '2023-11-24 20:00:00'
end_time = '2024-11-25 20:00:00'
# 以秒为单位 间隔x秒、x*60分、x*60*60小时,去重复执行
# 如果只想运行一次:间隔设置大一点,区间不足以运行第二次。。缺点是要等sleep运行结束,然后更新当前时间,整个任务才会结束
repeat_interval = 10 * 60
clocked_plan(start_time, end_time, repeat_interval)
Python屏幕提醒
最新推荐文章于 2024-09-15 22:31:42 发布