前言

有没有哪个同志跟我一样,每周都要写工作周报

像我这种记性不好的,一个月四周忘记三次

索性就用Python写个小工具,让它每周帮我给老板发周报~

Github: Weekday 小工具

提出目标

源码.资料.素材.点击领取即可

想有一个工具能发邮件

目标细化

  • SMTP发送邮件, 用smtplib
  • 读取配置文件
  • 发件人
  • 收件人
  • 抄送到哪些人
  • 我的账户,密码, 昵称
  • 参数化命令行,用argparse
    支持markdown to HTML

脑补使用方式

简单使用

cmd -a "工作内容" -p # 打印success

复杂使用

cmd -e -p # 激活vim, 然后:wq之后继续cmd执行, 就向git commit -a, 不过要打印success
~~~python
忘了自己写的程序怎么用
~~~python
cmd -h # 打印帮助信息

设计程序

有一个临时文件, 用来存放记录. 每次发送邮件之后, 将临时文件归档处理.

# 临时文件, 存在~/.weekday/current.rp
[global]
editor = vim
[to]
email =
cc =
[from]
email =
password =
nickname =
[SMTP]
host = smtp.exmail.qq.com

能在python脚本在执行时, 读去到这个配置文件

# 获取配置项示例
import ConfigParser
config = ConfigParser.ConfigParser()
config.readfp(open('文件名'))
defaultEditor = confg.get('global', 'editor') # 返回vim

可以解析在执行命令时传入的参数

python学习交流Q裙 770699889###
import argparse
parser = argparse.ArgumentParser(description='Tell your leader what you did this week')
# define command line parameters
parser.add_argument('-v', '--version',action='store_true',help='show the version information')
parser.add_argument('-e', '--edit',action='store_true',help='open default editor for editing report')
args = parser.parse_args()
print args

准备发送邮件, 先把markdown转成HTML, 然后使用smtplib发送邮件.

import smtplib
import mistune
from email.mime.text import MIMEText
content = mistune.markdown(content, escape=True, hard_wrap=True)
msg = MIMEText(content, 'html', 'utf-8')
msg['Subject'] = u'工作周报 %s\r\n' % date
msg['From'] = hFrom
msg['To'] = hTo
msg['Cc'] = hCc
smtp = smtplib.SMTP(conf['host'])
smtp.login(conf['from_email'], conf['password'])
smtp.sendmail(conf['from_email'],TO_ADDR + CC_ADDR,msg.as_string())
smtp.close()

开始写代码

源码.资料.素材.点击领取即可

细分功能实现的关键代码都已经整理好了. 现在只需要通过一串逻辑将她们联系起来. 看上去就能完成目标了.

python学习交流Q裙 770699889###
# main.py
def main():args = loadArguments()if args.version:print DESCif args.append:append(args.append, tmpFileName)// ... other code ...
if __name__ == '__main__':main()
python main.py -a Hello -p

最后只需要配合crontab工具, 就可以实现周期性定时发送了

# crontab -l
SHELL=/bin/zsh
PATH=/usr/local/bin
HOME=/Users/qiuwei
# run tasks
# minute hour day month week command
0 18 * * 5 wp -p

又是一篇教你摸鱼的文章,用Python实现自动发送周报给老板相关推荐

  1. 【摸鱼神器】基于python的BOSS识别系统

    [摸鱼神器]基于python的BOSS识别系统 前言 一.整体设计 二.调用摄像头 三.人脸识别 1. 构建白名单库 2. 人脸匹配 四.切换屏幕 五.完整代码 写在最后 前言 Tip:本文仅供技术学 ...

  2. 为了上班摸鱼,我用Python开发“BOSS来了”

    作为打工人来说,特别是996,.007的工作,除了干饭之外,最紧张刺激的莫过于上班的时候偶尔偷偷闲,去池塘里面摸摸鱼. 996摸鱼 一般人摸得哪些鱼呢?聊天.微博.微信朋友圈.小游戏.小说.股票基金等 ...

  3. 为了上班摸鱼,我用Python开发“BOSS来了”!

    文 | 闲欢 来源:Python 技术「ID: pythonall」 作为打工人来说,特别是996,.007的工作,除了干饭之外,最紧张刺激的莫过于上班的时候偶尔偷偷闲,去池塘里面摸摸鱼. 996摸鱼 ...

  4. 帝都程序猿996摸鱼求生指南!摸鱼好手!

    相信绝大多数一线城市的程序猿小伙伴,都躲不过996的洗礼. 在历经了众多的证据不足和抗议无效之后,996正慢慢成为新的行业标准 虽然员工极不情愿 但员工说了不算. 因此,在经过一系列深入的实践和调研之 ...

  5. 帝都程序猿996摸鱼求生指南

    相信绝大多数一线城市的程序猿小伙伴,都躲不过996的洗礼. 在历经了众多的证据不足和抗议无效之后,996正慢慢成为新的行业标准 虽然员工极不情愿 但员工说了不算. 因此,在经过一系列深入的实践和调研之 ...

  6. [IDEA] chapter_reader - idea看小说阅读插件 - idea摸鱼插件

    chapter_reader IDEA 在线&本地小说阅读摸鱼插件 文章目录 chapter_reader IDEA 在线&本地小说阅读摸鱼插件 公告信息: 文章中所有用[]括起来,仅 ...

  7. 2 个python美化表格数据输出结果的工具,摸鱼简直心安理得~

    嗨害大家好鸭!我是小熊猫❤ 虽然之前发的文章当中老是说摸鱼摸鱼~ ~ ~ 但是咱正事还是要干滴~ ~ ~ 有效率的干事 才能有效率的摸鱼~ ~ ~ 大家在用python处理表格数据中, 许多 的工作重 ...

  8. 划水摸鱼的时候写一篇自己是怎么划水摸鱼的

    划水摸鱼的时候写一篇自己是怎么划水摸鱼的 划水摸鱼这种事情,实在是我等打工人的必备技能.往好了说,我们这是劳逸结合,既有助于我们的身心健康,使我们心情愉悦.往坏了说,咱们这是在剥削资本家(好家伙!!! ...

  9. 摸鱼必备!天涯论坛神帖合集 200余篇 PDF

    天涯社区创立于1999年,以"全球华人网上家园"为愿景,致力于打造最具影响力的全球华人内容创作和知识分享社交平台. 注册用户超过1.3亿,月覆盖用户超过2.5亿,拥有大量高忠诚度. ...

最新文章

  1. 在Laravel外使用Eloquent(一)
  2. android电源驱动程序,[转]Android虚拟电源管理驱动
  3. ueditor集成实例php,Laravel框架集成UEditor编辑器的方法图文与实例详解
  4. Python zmq的三种简单模式
  5. 【图解Java】这下可以真的弄懂Java IO了~
  6. Python pip使用国内镜像
  7. 121_Power Query之R.Execute的read.xlsxODBC
  8. Linux虚拟化KVM-Qemu分析(十)之virtio驱动
  9. Sql Like 通配符 说明
  10. P-GCN:Graph Convolutional Networks for Temporal Action Localization 2019 ICCV
  11. 要让人人能AI的百度EasyDL,现在怎么样了?
  12. python:threading.Thread类的使用详解
  13. 狂雨小说采集笔趣阁源码
  14. Android 根据手机自带GPS获取当前位置,经纬度
  15. c语言贪吃蛇作业报告,贪吃蛇设计报告
  16. 蓝牙inquiry流程之命令下发
  17. 2022年2月国产数据库排行榜:冠军宝座面临挑战,OceanBase 重返 TOP3
  18. 如何高效地做设计评审
  19. 财务分析之利润表、现金流量表
  20. 执行ansible报CryptographyDeprecationWarning

热门文章

  1. Android学习笔记之在图片特效
  2. PADS2007如何打印PCB元件的丝印图
  3. Java保留小数点后两位方法(推荐使用NumberFormat)
  4. Python 协程并发下载斗鱼美女图片
  5. 带你一起实现 JSON.Stringify 方法
  6. 【JavaScript】作用域 作用域链
  7. JavaScript高级编程语言基础语法
  8. 【致客户书】关于CSDN专栏订阅的说明
  9. Keil5使用第一步
  10. 问卷调查会遇到哪些问题?怎么解决?