用Python弹窗定时记录工作
工作一天下来 , 忙个忙死 , 回想下又不知道干了什么 .
- 撸代码
- 分析需求
- 开会
- balabala ...
之前弄了个定时提醒 , 一个小时提醒一次 , 提示记录一下工作 . 不要盲目 .
操作起来还是不够便利 , 索性在弹窗里直接记录好了.
脚本来一打
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from tkinter import *
import time
from tkinter import messagebox
import os
# 内容要保存的目录
DATA_DIR = "/path/to/work_record" # 结尾不要跟 分隔符
# 本脚本所在的目录,为的是怕忘记了
PY_DIR = "/path/to/pyshell/pyrecord.py"
class MY_GUI():
def __init__(self, init_window_name):
self.init_window_name = init_window_name
# 设置窗口
def set_init_window(self):
self.init_window_name.title("Hour Record") # 窗口名
# self.init_window_name.geometry('320x160+10+10') #290 160为窗口大小,+10 +10 定义窗口弹出时的默认展示位置
self.init_window_name.geometry('480x240-100-100')
# self.init_window_name["bg"] = "pink" #窗口背景色,其他背景色见:blog.csdn.net/chl0000/article/details/7657887
# self.init_window_name.attributes("-alpha",0.9) #虚化,值越小虚化程度越高
self.init_window_name.bind("<Control-s>", self.keyRecord) # 快捷键 Ctrl+s 保存并关闭窗口
self.init_window_name.bind("<Control-h>", self.keyDirFunc) # 快捷键 Ctrl+h 显示目录
self.init_window_name.bind("<Control-q>", self.keyQuit) # 快捷键 Ctrl+q 直接退出
# 文本框
self.init_data_Text = Text(self.init_window_name, width=68, height=16) # 录入框
self.init_data_Text.focus_set()
self.init_data_Text.grid(row=0, column=0, columnspan=3)
# 按钮
self.dir_button = Button(self.init_window_name, text="目录", bg="#ccc", width=18,
command=self.dirFunc) # 调用内部方法 加()为直接调用
self.dir_button.grid(row=1, column=0)
self.str_trans_to_md5_button = Button(self.init_window_name, text="O K", bg="lightblue", width=48,
command=self.record) # 调用内部方法 加()为直接调用
self.str_trans_to_md5_button.grid(row=1, column=1, columnspan=2)
def keyQuit(self,event):
self.init_window_name.destroy()
def keyDirFunc(self,event):
self.dirFunc()
def dirFunc(self):
messagebox.showinfo("目录", "保存目录:" + DATA_DIR + "\n 脚本目录:" + PY_DIR)
def keyRecord(self,event):
self.record()
def record(self):
src = self.init_data_Text.get(1.0, END)
filename = time.strftime('%Y%m', time.localtime(time.time())) + ".md" # 文件直接保存为 .md , 个人喜欢使用markdown来写作.
file = open(file=DATA_DIR + os.sep + filename, mode="a+", encoding='utf-8')
cont = "\n\n" + time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) + "\n---\n" + str(src)
file.write(cont)
self.init_window_name.destroy()
def gui_start():
init_window = Tk() # 实例化出一个父窗口
ZMJ_PORTAL = MY_GUI(init_window)
# 设置根窗口默认属性
ZMJ_PORTAL.set_init_window()
init_window.mainloop() # 父窗口进入事件循环,可以理解为保持窗口运行,否则界面不展示
gui_start()
界面
界面丑了点 , 用起来还可以.
结语
- 文件输出为
markdown
- 文件名格式为:
202005.md (%Y%m.md)
- 记录内容为:
2020-05-09 10:09:02
---
第一次记录
把这个脚本撸完整了, 就这么用了
然后写个博客记录一下, 正在写博客