workbook2=load_workbook(filename='月度计划信息导入模板(二班).xlsx') ws02=workbook2.active def go(): global g now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') now1=datetime.datetime.strptime(now, '%Y-%m-%d %H:%M:%S') ti=[] def tishi(): messagebox.showinfo('还有1分钟') for x in range(2, ws02.max_row + 1): num_t = str(ws02['D' + str(x)].value) num_t = datetime.datetime.strptime(num_t, '%Y-%m-%d %H:%M:%S') num11 = num_t - datetime.timedelta(minutes=2) if now1 < num11: ti.append(num11) print(ti) for hi in ti: root1 = tkinter.Tk() root1.withdraw() root1.after((hi - now1).seconds * 1000, tishi) root1.mainloop() g = threading.Timer(1, go) g.start()
时间: 2024-03-14 22:49:59 浏览: 53
工作簿(Workbook)基本操作应用示例
这段代码是用 Python 语言编写的,主要功能是读取一个名为“月度计划信息导入模板(二班).xlsx”的 Excel 文件,并且在距离 Excel 中 D 列的时间戳还有 2 分钟时,弹出一个提醒窗口。具体实现是通过 tkinter 库来创建窗口,并且使用 threading 库来定时执行提醒操作。在代码中,定义了一个名为 `go()` 的函数,该函数中使用了一些全局变量和局部变量,包括 `g`、`now`、`now1`、`ti`、`tishi()` 等。其中,`g` 是一个定时器,每隔 1 秒钟执行一次 `go()` 函数;`now` 是当前的时间戳;`now1` 是将 `now` 转换为时间格式后得到的时间对象;`ti` 是一个空列表,用于存储需要提醒的时间戳;`tishi()` 是一个弹出提醒窗口的函数。通过遍历 Excel 中的每一行,将 D 列中的时间戳转换为时间对象,并且减去 2 分钟,将结果存放在 `ti` 列表中。然后,对于每个需要提醒的时间戳,创建一个隐藏的窗口,并且在距离提醒时间还有一分钟时,弹出提醒窗口。最后,使用定时器 `g` 定时执行 `go()` 函数。
阅读全文