![](http://upload-images.jianshu.io/upload_images/278044-0b14c4a85ba8189d.gif?imageMogr2/auto-orient/strip)
sqlite3
内容
1. 将Part2中接收到的客户端请求单词,存入sqlite数据库中。
2. 将主程序打包成命令remind_you
效果
将rpm包安装后,执行remind_you启动主进程。使用ps命令,可以看到目前有两个进程,第一个是主进程,第二个是dict_plugin的工作进程。
![](http://upload-images.jianshu.io/upload_images/278044-1862f7a46e376641.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
进程信息
使用day2中的客户端程序save_word保存单词信息
![](http://upload-images.jianshu.io/upload_images/278044-a4c5000533149ae5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
客户端命令
我们直接代开数据库文件(/etc/.remind_you/db/dict.db)可以看到新增的表项,说明我们的程序保存成功。
![](http://upload-images.jianshu.io/upload_images/278044-725389eafe9bc005.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
db
使用的库
Pyhton-Sqlite
python sqlite的用法可以参考python手册中的内容,目前这里使用了几个简单的函数
1. sqlite3.connect('a.db') 连接数据库,返回connection对象
2. connection.execute执行一条语句
3. connection.executemany执行一条语句,可以带多个淡出
主要代码
dict_plugin.py 的run方法中调用数据库处理函数。主要处理步骤如下:
1. dict_plugin启动后,连接数据库,并创建数据表
2. 判断收到的单词是否已经加入到了表中
3. 对于新单词,则加入到数据库中
![](http://upload-images.jianshu.io/upload_images/278044-eeef41585ca53556.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
dict_plugin主要代码修改
![](http://upload-images.jianshu.io/upload_images/278044-7b4d2b7939145530.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
sqlite