Python 入门:用 argparse 与 JSON 写一个能每天用的待办小工具
很多 Python 入门教程停在 print Hello World,学完还是不知道能用它做什么。今天我们换一个思路:直接做一个每天都能用上的小工具——命令行待办清单。它只有一百行不到的代码,却能把 argparse、JSON 文件读写、异常处理这几个入门必备知识点串起来。做完之后,你手里就多了一个真正属于自己的工具,而不是又一段跑完就删的示例代码。先想清楚这个工具要解决什么问题。待办清单最核心的动作只有四个:添加一条待办、列出全部待办、标记某条已完成、删除一条。数据要能保存下来,下次打开还在,所以需要一个本地文件来存。把这四个动作对应成四个命令行参数,程序的骨架就出来了:一个主函数解析参数,一个函数负责读写文件,几个小函数分别处理增删改查。先定骨架再写细节,是新手最容易忽略、也最值得养成的习惯。数据存在哪里?最简单的办法是用 JSON 文件。JSON 是 Python 内置 json 模块可以直接读写的格式,人也能直接打开看。第一次运行时文件还不存在,程序要能自己创建一个空列表;文件损坏或格式不对时,也不要直接崩溃,而是提示用户并给出处理办法。把读和写各写成一个函数:load_tasks 负责读,save_tasks 负责写,其他地方只管调用。这样以后想换成数据库或云端同步,改动也只集中在这两个函数里。命令行参数用 argparse 来处理,它是 Python 标准库,不用额外安装。比如 python todo.py add 买牛奶,就把买牛奶存进列表;python todo.py list 就按编号打印出来,每条前面标上是否完成。argparse 会自动生成帮助信息,输入 python todo.py --help 就能看到所有用法,这对新手非常友好,也省去了自己解析 sys.argv 的麻烦。记住一个原则:能用标准库解决的,先别急着装第三方库。写完之后别急着关掉,再给自己留两个小练习:给每条待办加一个截止日期,或者加一个按关键字搜索的功能。这两个改动都不大,却能逼着你再读一遍自己的代码。入门最好的方式,永远是先做出一个能用的东西,再一点点把它改得更好。
- 点赞
- 收藏
- 关注作者
评论(0)