项目原因

为了解决学习知识后不及时复习而导致遗忘的问题,准备写一个桌面助手,采用艾宾浩斯记忆法,对每次学习的内容排布复习计划。

第一步是做出最简单的文本列表,里面是待办事项,每个复习待办事项都会有符合艾宾浩斯遗忘曲线的时间戳。

展示效果如下:

输入 一段字符串,生成 复习 时间表。 用艾宾浩斯法

例如, "复习kmp算法", 输入后,产生以下文字:

学习kmp算法 当前时间+ 30min 未完成

学习kmp算法 当前时间 + 1h 未完成

学习kmp算法 当前时间 + 1day 未完成

学习kmp算法 当前时间 + 4day

学习kmp算法 当前时间 + 7day

学习kmp算法 当前时间 + 30day

学习kmp算法 当前时间 + 60day

学习kmp算法 当前时间 + 90day

学习kmp算法 当前时间 + 180day

代码如下:

import os

import sys

import datetime

class learningHelper():

file_name = str("todolist.txt")

standardtimeformat = r"%Y-%m-%d %H:%M:%S"

@classmethod

def generateTodolist(cls, todostr):

resstr=''

resstr = resstr+'\n'+todostr+"\t\t"+(datetime.datetime.now()+datetime.timedelta(minutes=30)).strftime(learningHelper.standardtimeformat)+"\t\t"+"notdone"

resstr = resstr+'\n'+todostr+"\t\t"+(datetime.datetime.now()+datetime.timedelta(hours=1)).strftime(learningHelper.standardtimeformat)+"\t\t"+"notdone"

resstr = resstr+'\n'+todostr+"\t\t"+(datetime.datetime.now()+datetime.timedelta(days=1)).strftime(learningHelper.standardtimeformat)+"\t\t"+"notdone"

resstr = resstr+'\n'+todostr+"\t\t"+(datetime.datetime.now()+datetime.timedelta(days=4)).strftime(learningHelper.standardtimeformat)+"\t\t"+"notdone"

resstr = resstr+'\n'+todostr+"\t\t"+(datetime.datetime.now()+datetime.timedelta(days=7)).strftime(learningHelper.standardtimeformat)+"\t\t"+"notdone"

resstr = resstr+'\n'+todostr+"\t\t"+(datetime.datetime.now()+datetime.timedelta(days=30)).strftime(learningHelper.standardtimeformat)+"\t\t"+"notdone"

resstr = resstr+'\n'+todostr+"\t\t"+(datetime.datetime.now()+datetime.timedelta(days=60)).strftime(learningHelper.standardtimeformat)+"\t\t"+"notdone"

resstr = resstr+'\n'+todostr+"\t\t"+(datetime.datetime.now()+datetime.timedelta(days=90)).strftime(learningHelper.standardtimeformat)+"\t\t"+"notdone"

#resstr = resstr+'\n'+todostr+"\t\t"+(datetime.datetime.now()+datetime.timedelta(months=parameter)).strftime(learningHelper.standardtimeformat)+"\t\t"+"notdone"

#resstr = resstr+'\n'+todostr+"\t\t"+(datetime.datetime.now()+datetime.timedelta(years=parameter)).strftime(learningHelper.standardtimeformat)+"\t\t"+"notdone"

return resstr

if __name__=="__main__":

todostr = sys.argv[1]

if(todostr == None):

#对列表进行排序

pass

with open(learningHelper.file_name,'a') as f:

f.write(learningHelper.generateTodolist(todostr))

f.close()

主要思路是:

python脚本输入一个事件, 脚本得到参数后生成带时间戳的列表。 这里用到了python的时间日期模块。其中日期的加减通过当前时间和 datetime.timedelta()方法的加减来完成。

一个输出的样例:

试一试2020-09-16 10:34:34notdone

试一试2020-09-16 11:04:34notdone

试一试2020-09-17 10:04:34notdone

试一试2020-09-20 10:04:34notdone

试一试2020-09-23 10:04:34notdone

试一试2020-10-16 10:04:34notdone

试一试2020-11-15 10:04:34notdone

试一试2020-12-15 10:04:34notdone

下一步开发计划是:

1.对列表按照时间排序

2.已完成的事件被转移到另一个文件中

3.时间到达后会弹出至屏幕,成为今天必须要做的todolist

从给自己有帮助的实用工具的开发是学习编程的良好开端。写许多小工具也会让自己具有成就感,同时也确实帮助到了自己。

python脚本传参

首先是向py脚本如何传参数,传递参数最简单的方法就是sys.argv

import sys

a = sys.argv[0]

b = sys.argv[1]

print(a)

print(b)

python脚本传递参数的方式还有哪些?

python输出标准时间

import datetime # 日期模块

print(datetime.datetime.now()) # 当前时间

print (datetime.datetime.now()+datetime.timedelta(days=1)).strftime("%Y-%m-%d %H:%M:%S") #当前时间加1天且 格式化时间。

# 如果是小时就是hours,分钟就是minutes

python类的静态方法

python助手_python编写学习助手0相关推荐

  1. python第三方库文件传输助手_python实现文件助手中查看微信撤回消息

    利用python实现防撤回,对方撤回的消息可在自己的微信文件传输助手中查看. 如果想变成可执行文件放在电脑中运行,可用pyinstaller将此程序打包成exe文件. pyinstaller 文件名. ...

  2. guido正式发布python年份_Python 基础学习笔记.docx

    Python 基础学习笔记 基于<Python语言程序设计基础(第2版)> 第一部分 初识Python语言 第1章 程序设计基本方法 1.1 计算机的概念 计算机是根据指令操作数据的设备, ...

  3. python版本更新_python入门学习第一天-初识Python

    初识Python Python简介 Python的历史 1989年圣诞节:Guido von Rossum开始写Python语言的编译器. 1991年2月:第一个Python编译器(同时也是解释器)诞 ...

  4. python网页服务器_python编写简单网页服务器

    这篇文章主要介绍了关于python 编写简单网页服务器,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 IDE:Pycharm sever.py #!/bin/python #-*- c ...

  5. python 图表_Python入门学习系列——使用Python调用Web API实现图表统计

    使用Python调用Web API实现图表统计 Web API:Web应用编程接口,用于URL请求特定信息的程序交互,请求的数据大多以非常易于处理的格式返回,比如JSON或CSV等. 本文将使用Pyt ...

  6. 32岁学python 人工智能_python深入学习好还是直接学人工智能好?

    python深入学习好还是直接学人工智能好 这个其实是理解上的一个偏差,人工智能是一个领域,而深度学习是门技术 有很多人说不会机器学习,深度学习无法实现人工智能,这句话放在5-6年前完全正确,而放眼现 ...

  7. 菜鸟python爬虫_Python爬虫学习-基础爬取

    编译环境:python v3.5.0, mac osx 10.11.4 第三方库:针对网页解析,python有丰富的第三方库如: BeautifulSoup, urllib, requests etc ...

  8. python填充_python 实现矩阵填充0的例子

    需求: 原矩阵 [[1 2 3] [4 5 6] [7 8 9]] 在原矩阵元素之间填充元素 0,得到 [[1. 0. 2. 0. 3.] [0. 0. 0. 0. 0.] [4. 0. 5. 0. ...

  9. python坐标转换_python 编写的经纬度坐标转换类

    #-*- coding: utf-8 -*-#/**#* 各地图API坐标系统比较与转换;#* WGS84坐标系:即地球坐标系,国际上通用的坐标系.设备一般包含GPS芯片或者北斗芯片获取的经纬度为WG ...

最新文章

  1. 如何用Excel直接查询Oracle中的数据(转)
  2. yml不识别_SpringBoot(2):yml配置文件和集成其他框架
  3. Centos下chef安装、部署
  4. uniGUI试用笔记(一)
  5. js实现阶乘算法的三种方法
  6. oracle11g linux 日期格式设置
  7. 控制cpu_I/O控制器及控制方式,了解一下
  8. 韦小宝适合做IT人的8大理由
  9. 【2015.9.1】微信开放平台
  10. easyui combobox下拉框 的取value text的API
  11. word图片居中, 实际没效果解决、行间距无效果
  12. Unity3D中如何制作身临其境的3d音效
  13. F5学习——Part 1(基于LTM模块的基本组网模式)
  14. scanf输入回车问题
  15. 计算机机房前端,(前端机房试题.doc
  16. RC电路的频率响应、选频网络特性测试的分析与仿真
  17. 寓教于乐:12个学习编程的游戏化平台
  18. 计算机会计系统与手工会计系统有什么异同,会计电算化系统与手工会计系统的比较研究...
  19. Linux的进程空间管理
  20. ibm oracle 应用程序 编排_甲骨文携手IBM认证Oracle Fusion应用软件

热门文章

  1. 全国计算机等级全真模拟二级,《全国计算机等级考试二级笔试全真模拟试卷》.pdf...
  2. 性能测试服务器集群,刀片式服务器集群性能测试与优化技术研究
  3. 深入理解javascript原生拖放
  4. gre subject计算机,终于晓得gre-subject考试难不难
  5. 什么时候使用Try Catch(转)
  6. SharePoint 中关于event receivers的讨论
  7. vue3+Ts使用pinia(vue-lic搭建项目)
  8. 国科大学习资料--模式识别--2017-2018期末试卷及解析(刘成林)
  9. 游戏联运系统丨游戏联运系统防沉迷丨手游联运系统防沉迷丨游戏联运系统防沉迷的流程
  10. 宁德时代单季营收890亿:净利98亿 高瓴套现超20亿