首页 > 其他分享 >GTD践行日志其二

GTD践行日志其二

时间:2023-04-20 21:46:51浏览次数:31  
标签:GTD person list 践行 XX time print mail 日志

GTD践行日志其二

前言

GTD(Getting Things Done)是一种强调将所有任务和想法捕捉到可靠系统中,将其分解为可行动的项目,并定期审查和更新的生产力方法。书接前文,对于大流程的文件夹进行了分类。其中需要对工作篮中的东西进行清理,在识别过后明确下一步行动。如果某个下一步行动明确,用时不超过2分钟,那就立即执行。这其中,把一些重复的(包括正常执行超过2分钟的)任务都集中,就可以使用电子邮件自动化来简化这些任务。


GTD的具体流程

GTD.jpg
《搞定》书中的工作流程图


尝试用python进一步简化流程

对于工作中有一些每周重复的邮件等进行了处理,部分实现如下:

  • 发送每周例会通知
import smtplib  
from email.mime.text import MIMEText
import time as t
import datetime
# 转换时间
weekday_dict = {
  "Monday":"周一",
  "Tuesday":"周二",  
  "Wednesday":"周三",  
  "Thursday":"周四",  
  "Friday":"周五",  
  "Saturday":"周六",  
  "Sunday":"周日",    
}
today  = datetime.date.today()
userinput = int(input('请输入一个天数(几天后开会):').strip()) 
userinput_ftime = str(input('请输入会议开始时间:')).strip()
userinput_ltime = str(input('请输入会议结束时间:')).strip()
meetday = today + datetime.timedelta(days = userinput)
English_weekday =  meetday.strftime("%A")
Chinese_weekday = weekday_dict.get(English_weekday)
noticeday = str(meetday) + "(" + str(Chinese_weekday) + ")"
# 设置邮箱各项
mailto_list=["[email protected]"] 
mailto_list_cc=["[email protected]"] 
mail_host="xx.example.com.cn"  
mail_user="xxxx" 
mail_pass="xxxx"  
mail_postfix="example.com.cn" 
mail_content = """\
<html>
<head>
</head>
<body>
<p><b>会议主题</b>:XX团队周工作例会</p >
<p><b>会议内容</b>:本周核心工作总结及下周重点计划汇报</p >
<p><b>会议人员</b>:XX团队全体</p >
<p><b>会议时间</b>:{} {}-{}</p >
<p><b>会议地点</b>:会议室(N)</p >
</body>
</html>""" .format(noticeday,userinput_ftime,userinput_ltime)
def send_mail(to_list,to_cc,sub,content):
    me="hello"+"<"+mail_user+"@"+mail_postfix+">"   
    msg = MIMEText(content,_subtype='html',_charset='gb2312')  
    msg['Subject'] = sub 
    msg['From'] = me  
    msg['To'] = ";".join(to_list)  
    msg['Cc'] = ";".join(to_cc) 
    try:  
        s = smtplib.SMTP()  
        s.connect(mail_host)
        s.login(mail_user,mail_pass) 
        s.sendmail(me, to_list+to_cc, msg.as_string()) 
        s.close()  
        return True  
    except Exception as e:  
        print (str(e))
        return False  

def run():
    if send_mail(mailto_list,mailto_list_cc,"会议通知-----XX团队周工作例会",mail_content):  
        print ("发送成功")
    else:  
        print ("发送失败")

if __name__ == '__main__': 
    run()
  • 发送加班申请
import smtplib  
from email.mime.text import MIMEText
import time as t
import datetime
import sys

today  = (datetime.date.today()).strftime("%Y%m%d")
tomorrow = (datetime.date.today()+ datetime.timedelta(days = 1)).strftime("%Y%m%d")

while True:
    userinput = (input('请选择加班日:1.今天;2.明天;其它任意键退出,按Enter确认').strip()) 
    if userinput == "1":
        now = today
        print("已选择今日加班")
        break
    elif userinput == "2":
        now = tomorrow
        print("已选择明日加班")
        break
    else:
        print("程序已退出")
        sys.exit()

group = [
            {'number':'1','name':'张三','id':'XXXXXX','adress':'XX团队','date':now,'f_time':'','l_time':'','reason':'XX项目开发','agree':'同意'},
            {'number':'2','name':'李四','id':'XXXXXX','adress':'XX团队','date':now,'f_time':'','l_time':'','reason':'XX项目开发','agree':'同意'},
            {'number':'3','name':'王五','id':'XXXXXX','adress':'XX团队','date':now,'f_time':'','l_time':'','reason':'XX项目开发','agree':'同意'},
            {'number':'4','name':'赵六','id':'XXXXXX','adress':'XX团队','date':now,'f_time':'','l_time':'','reason':'XX项目开发','agree':'同意'},
            {'number':'5','name':'钱七','id':'XXXXXX','adress':'YY团队','date':now,'f_time':'','l_time':'','reason':'XX跟进','agree':'同意'},
            {'number':'6','name':'孙八','id':'XXXXXX','adress':'YY团队','date':now,'f_time':'','l_time':'','reason':'XX跟进','agree':'同意'},
            {'number':'7','name':'吴九','id':'XXXXXX','adress':'YY团队','date':now,'f_time':'','l_time':'','reason':'XX跟进','agree':'同意'},   
            {'number':'8','name':'郑十','id':'XXXXXX','adress':'YY团队','date':now,'f_time':'','l_time':'','reason':'XX跟进','agree':'同意'},  
        ]

persons = []
mailto_list = [] 
mailto_list_cc = [] 

choose = input("请选择你的团队:1.XX团队;2.YY团队;按其它任意键退出:")

while True:
  if choose == "1":
    workgroup = "XX团队"
    break
  elif choose == "2":
    workgroup = "YY团队"
    break        
  else:
    print("程序已退出")
    break

def work_person():
    while True:
        if choose == "1":
            print("已选择XX团队")
            whatsgroup = "XX团队"
            mailto_list.extend(["[email protected]"]) 
            mailto_list_cc.extend(["[email protected]"])            
            break
        elif choose == "2":
            print("已选择YY团队")
            whatsgroup = "YY团队"
            mailto_list.append("[email protected]") 
            mailto_list_cc.append("[email protected]") 
            break        
        else:
            print("程序已退出")
            break
    for person in group:
        if whatsgroup == person['adress']:
            print(person['name']+"加班吗?")
            while True:
                whowork = (input("请输入y或n,按其它任意键退出:")).strip()
                if whowork == "y" or whowork == "Y":
                    print(person['name']+"加定了,我说的")
                    howlong = (input("加几个钟(请输入整数):")).strip()
                    if now == tomorrow and int(howlong) > 6:
                      person['f_time'] = "8:30"                      
                      person['l_time'] = str(10+int(howlong))+":30"
                    else: 
                      person['f_time'] = "17:30"    
                      person['l_time'] = str(17+int(howlong))+":30"
                    persons.append(person)
                    break
                elif whowork == "n" or whowork == "N":
                    print(person['name']+"不加啦不加啦")
                    break
                else:
                    print("程序已退出")
                    sys.exit()
    if len(persons) == 0:
        print("请输入正确的团队")
        return None
    else:
        return person
     
work_person()

mail_host="gm.gree.com.cn" 
mail_user="58sa001"
mail_pass="szxzs!23"
mail_postfix="gree.com.cn" 
mail_content = """\
<html>
<head>
</head>
<body>
<p>如下人员加班申请信息已提交,请跟进处理</p >
<table border="1" cellspacing="0" cellpadding="10">
  <tr>
    <th>序号</th>
    <th>员工姓名</th>
    <th>员工编号</th>
    <th>所在科室</th>
    <th>加班日期</th>
    <th>加班申报起始时间</th>
    <th>加班申报结束时间</th>
    <th>加班原因</th>
    <th>本科室审批意见</th>
  </tr>
  %s
</body>
</html>
""" % ''.join(['<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>' %
               (person['number'], person['name'], person['id'], person['adress'], person['date'], person['f_time'], person['l_time'], person['reason'], person['agree'])
               for person in persons])
  
'''
send_mail code
'''

def run():
    if send_mail(mailto_list,mailto_list_cc,workgroup+now+"加班申请,请审批",mail_content):  
      print ("发送成功")
    else:  
      print ("发送失败")

if __name__ == '__main__': 
  run()

类似的,可以根据自己的工作实际灵活使用,也可以通过设置电子邮件分类文件夹中及自动回复实现,当然这一块直接在邮箱中就可完成故不再列出。


后记

电子邮件自动化解放了一小部分的工作,通过将自动化与我们的判断和创造力相结合,一定可以在工作和个人生活中实现更高的生产力和效率。还是那句话

像实干家一样思考问题,像思想家一样付诸行动。

愿你我共同进步!

标签:GTD,person,list,践行,XX,time,print,mail,日志
From: https://www.cnblogs.com/yangor/p/17338448.html

相关文章

  • hive日志位置
        日志记录了程序运行的过程,是一种查找问题的利器。Hive中的日志分为两种1.系统日志,记录了hive的运行情况,错误状况。2.Job日志,记录了Hive中job的执行的历史过程。系统日志存储在什么地方呢?在hive/conf/hive-log4j.properties文件中记录了Hive日志的存储情况,默认的存储......
  • 八、实战案例之基于ELK实现容器日志收集与展示
    kubernetes实战案例之基于ELK实现容器日志收集与展示实现pod中日志收集之至ELK,自定义字段数据格式转换、排序、基于日志实现pod自愈、自动扩容等收集日志的方法:1、通过DaemonSet在宿主机启动日志收集客户端Fluentd、logstash、filebeat-v选项把宿主机的日志挂......
  • 3 02 | 日志系统:一条SQL更新语句是如何执行的?
    前面我们系统了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块。相信你还记得,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。那么,一条更新语句的执行流程又是怎样的呢?之前你可能经常听DBA同事说,MySQL可以恢复到半......
  • crontab 任务日志
    评:crontab是Linux下最常用的计划任务服务。本文跟大家分享一下有关linuxcrontab日志存放的一些心得,希望本文能教会你更多东西。默认情况下,crontab中执行的日志写在/var/log下,如:#ls/var/log/cron*/var/log/cron/var/log/cron.1/var/log/cron.2......
  • windows server 的日志手动筛选xml如何学习编写
    如何编写WindowsServer的日志筛选器,你需要先了解以下概念:1、WindowsEventLog:WindowsEventLog是WindowsServer操作系统提供的一种记录系统事件的机制,它可以记录操作系统、应用程序、安全、系统和其他类型的事件。2、EventViewer:EventViewer是Windows操作系统提供......
  • elasticsearch 8集群搭建并完成CDN日志收集和解析
     谷歌一下,搜索结果有各种样的博客文章,看了很多篇,反而被绕晕,经过自己的实践搭建完成获取到的经验最适合自己,在这里把整个过程记录下来,也希望可以帮助到一些需要的人。搭建前,请阅读官方文档,虽然是英文,如果能看懂你能学到更精髓的部分。英文好坏也是技术和技术之间的分水岭。好的技......
  • ELK日志分析系统
    拓扑图:推荐步骤:搭建ElaticSearch群集,通过浏览器查看和图形管理群集配置客户端装apache和logstash服务配置采集apache日志配置kibana监听elasticsearch服务器日志实验步骤:一、搭建Elaticsearch群集,通过浏览器查看和图形管理群集1、配置第一台Elaticsearch服务器(1)修改hosts文件复制......
  • 挖/填坑日志
    我是挖坑大师!写一点做了但是没有完全做完的事情:小说(框架搭建了一堆,but实际本上只有三个案子,网文甚至没更到那个阶段())第二本小说啊对对对其实曾经干过一个时间干两本小说的,但是一本在无名作文本上丢了,还好没有更很多()Witness_C++模拟器可以来这个地方看进度,有进展会更新Natu......
  • 简单的python3脚本:从日志中提取信息
    命名:log_extractor.pyordownload_stats_extractor.py#coding:utf-8#!/usr/bin/python3deffilter_line(line,contains,contains_not):ifall(cinlineforcincontains)andnotany(ninlinefornincontains_not):ifint(line.split()[8])==2......
  • AOP实现日志打印
    packagecom.youmu.framework.love.interfaces;importjava.lang.annotation.*;/***@Author:guodong*@CreateTime:2023-04-1916:38*@Description:自定义注解日志类*@Version:1.0*/@Documented@Target(ElementType.METHOD)//注解的作用类型为方法@Rete......