python编写学习助手0
项目原因
为了解决学习知识后不及时复习而导致遗忘的问题,准备写一个桌面助手,采用艾宾浩斯记忆法,对每次学习的内容排布复习计划。
第一步是做出最简单的文本列表,里面是待办事项,每个复习待办事项都会有符合艾宾浩斯遗忘曲线的时间戳。
展示效果如下:
输入 一段字符串,生成 复习 时间表。 用艾宾浩斯法
例如, "复习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:34 notdone
试一试 2020-09-16 11:04:34 notdone
试一试 2020-09-17 10:04:34 notdone
试一试 2020-09-20 10:04:34 notdone
试一试 2020-09-23 10:04:34 notdone
试一试 2020-10-16 10:04:34 notdone
试一试 2020-11-15 10:04:34 notdone
试一试 2020-12-15 10:04:34 notdone
下一步开发计划是:
1.对列表按照时间排序
2.已完成的事件被转移到另一个文件中
3.时间到达后会弹出至屏幕,成为今天必须要做的todolist
从给自己有帮助的实用工具的开发是学习编程的良好开端。写许多小工具也会让自己具有成就感,同时也确实帮助到了自己。
python脚本传参
python脚本传入参数的办法 https://www.jb51.net/article/171619.html
首先是向py脚本如何传参数,传递参数最简单的方法就是sys.argv
import sys
a = sys.argv[0]
b = sys.argv[1]
print(a)
print(b)
python脚本传递参数的方式还有哪些?
python输出标准时间
python日期的加减。
https://blog.csdn.net/lilongsy/article/details/80242427
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类的静态方法
https://www.cnblogs.com/nevermore29/p/10843981.html
在类中的方法上一行加修饰符 @classmethod
, 且函数的第一个参数必须是cls
python编写学习助手0的更多相关文章
- [python xml 学习篇][0]
tree = ET.parse("Result.xml")root = tree.getroot()print type(root)print root.tag # 得到root ...
- 通过编写串口助手工具学习MFC过程——(十)UpdateData()用法和编辑框的赋值、取值
通过编写串口助手工具学习MFC过程 因为以前也做过几次MFC的编程,每次都是项目完成时,MFC基本操作清楚了,但是过好长时间不再接触MFC的项目,再次做MFC的项目时,又要从头开始熟悉.这次通过做一个 ...
- 通过编写串口助手工具学习MFC过程——(九)自动识别串口的方法
通过编写串口助手工具学习MFC过程 因为以前也做过几次MFC的编程,每次都是项目完成时,MFC基本操作清楚了,但是过好长时间不再接触MFC的项目,再次做MFC的项目时,又要从头开始熟悉.这次通过做一个 ...
- 通过编写串口助手工具学习MFC过程——(八)遇到的一些问题
通过编写串口助手工具学习MFC过程 因为以前也做过几次MFC的编程,每次都是项目完成时,MFC基本操作清楚了,但是过好长时间不再接触MFC的项目,再次做MFC的项目时,又要从头开始熟悉.这次通过做一个 ...
- 通过编写串口助手工具学习MFC过程——(六)添加Edit编辑框控件
通过编写串口助手工具学习MFC过程 因为以前也做过几次MFC的编程,每次都是项目完成时,MFC基本操作清楚了,但是过好长时间不再接触MFC的项目,再次做MFC的项目时,又要从头开始熟悉.这次通过做一个 ...
- 通过编写串口助手工具学习MFC过程——(七)添加Tab Control控件
通过编写串口助手工具学习MFC过程 因为以前也做过几次MFC的编程,每次都是项目完成时,MFC基本操作清楚了,但是过好长时间不再接触MFC的项目,再次做MFC的项目时,又要从头开始熟悉.这次通过做一个 ...
- 通过编写串口助手工具学习MFC过程——(五)添加CheckBox复选框
通过编写串口助手工具学习MFC过程 因为以前也做过几次MFC的编程,每次都是项目完成时,MFC基本操作清楚了,但是过好长时间不再接触MFC的项目,再次做MFC的项目时,又要从头开始熟悉.这次通过做一个 ...
- 通过编写串口助手工具学习MFC过程——(四)添加ComboBox组合框
通过编写串口助手工具学习MFC过程 因为以前也做过几次MFC的编程,每次都是项目完成时,MFC基本操作清楚了,但是过好长时间不再接触MFC的项目,再次做MFC的项目时,又要从头开始熟悉.这次通过做一个 ...
- 通过编写串口助手工具学习MFC过程——(三)Unicode字符集的宽字符和多字节字符转换
通过编写串口助手工具学习MFC过程 因为以前也做过几次MFC的编程,每次都是项目完成时,MFC基本操作清楚了,但是过好长时间不再接触MFC的项目,再次做MFC的项目时,又要从头开始熟悉.这次通过做一个 ...
随机推荐
- Panel添加边框颜色和边框粗细调整
Panel控件添加边框颜色 C# WinForm窗体控件Panel修改边框颜色以及边框宽度方法 - JiYF - 博客园 (cnblogs.com) 1.新建一个用户控件的项目,如下: 2.添加一个P ...
- Qt5创建模态和非模态对话框
1.模态对话框创建: 第一种方法: QDialog dialog(this); dialog.exec(); this为该对话框的父窗口. 第二种方法: QDialog *dialog = new Q ...
- Python - //和/的区别
/ 表示浮点数除法,返回浮点结果; // 表示整数除法,返回不大于结果的一个最大的整数 print("6 // 4 = " + str(6 // 4)) print("6 ...
- Docker(34)- 如何修改 docker 容器的目录映射
如果你还想从头学起 Docker,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1870863.html 问题背景 docker run ...
- shell脚本中select循环语句用法
shell脚本中select循环语句 1. 脚本中select的语法格式 select VAR in LIST do command1 command2 ... ... commandN done s ...
- 记一次 .NET 某桌面奇侠游戏 非托管内存泄漏分析
一:背景 1. 讲故事 说实话,这篇dump我本来是不准备上一篇文章来解读的,但它有两点深深的感动了我. 无数次的听说用 Unity 可做游戏开发,但百闻不如一见. 游戏中有很多金庸武侠小说才有的名字 ...
- WPF 过渡效果
http://blog.csdn.net/lhx527099095/article/details/8005095 先上张效果图看看 如果不如您的法眼 可以移步了 或者有更好的效果 可以留言给我 废话 ...
- 导出excel、word、csv文件方法汇总
http://www.woaic.com/2012/06/64 excel文件主要是输出html代码.以xls的文本格式保存文件. 生成excel格式的代码: /// <summary> ...
- Centos8.X 搭建Prometheus+node_exporter+Grafana实时监控平台
Prometheus Promtheus是一个时间序列数据库,其采集的数据会以文件的形式存储在本地中,因此项目目录下需要一个data目录,需要我们自己创建,下面会讲到 下载 下载好的.tar.gz包放 ...
- Web爬虫|入门实战之糗事百科(附源码)
coding by real mind writing by genuine heart 解析 任务背景:https://www.qiushibaike.com/hot/ 窥探网页细节:观察每一页 ...