2017.4.18 python fire one todo

本文介绍如何使用PythonFire简化命令行程序开发,并实现一个极简的TODO应用,该应用通过JSON文件存储待办事项列表,支持添加、查看及完成任务等功能。

特别注意:只有python2能用
早就听说python fire是个很牛逼的东西,可以自动生成命令行程序,今天终于试用了一把。
我也做了一个TODO。
这个TODO我把它命名为one。顾名思义,这个一次只专注与一件事。然后一件事一件事慢慢完成,我想并行处理在我这里是行不通的,唯有这样才是比较正确的选择。
既然是一个TODO,那当然需要可持久化存储了,我就生产了一个json文件来存一个数组。
不要太复杂。
对应两个函数 read 和 write

def read():
    f = open('db.json')
    db = json.load(f)
    f.close()
    return db


def write(db):
    f = open('db.json', 'w')
    json.dump(db, f)
    f.close()

这样就可以把json文件取出来并写进去了
我这个TODO思路就是一个队列,每次按顺序做,为此写了又写了三个函数

def new(item):
    db = read()
    db.append(item)
    write(db)


def now():
    db = read()
    print(db[0])


def solve():
    db = read()
    db = db[1:]
    write(db)

当然了,还需要初始化,所以写了一个Init

def init():
    write([])

#如何使用python fire?

import fire
if __name__ == '__main__':
    fire.Fire()

就好了


#如何使用这个程序
比如这个文件名是one.py
先执行python one.py init
这样就会生产一个db.json文件
这时我的首要任务就是:写看信号与系统参考书到148面
所以运行
python one.py new 写看信号与系统参考书到148面
然后运行python one.py now
就会显示了
下一个任务是做完刘汝佳训练指南的线段树全部题目

python one.py new 做完刘汝佳训练指南的线段树全部题目
然后假设我已经看完信号了,输入
python one.py solve
再运行python one.py now
就会输出做完刘汝佳训练指南的线段树全部题目
当然了,我并没有看完,不过回收站功能我肯定是不会加的,甚至是看全部列表这种功能我也不想加。
极简,专注。
So
继续运行python one.py solve
python one.py new 看信号与系统参考书到148面吧
然后就开始看了。
全部代码
http://paste.ubuntu.com/24406430/

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值