Python

状课网-少儿编程网课专业平台

Python python青少年编程—图书管理系统之文件“数据库”版

发布时间:2021-11-24 13:47:40 浏览 0

各位小伙伴大家好:

第二季的时候我们写过一个图书馆系统,当时的版本基本上实现了我们的目标。只是有一个缺憾,就是只要我们的程序一关闭,那么所有我们之前所输入的信息就都会消失。

有什么方法能让我们的数据在程序重启之后还能继续使用呢?

还记得上期我们分享的内容吗?

文件的操作(写入、读取)

那么我们就可以考虑,让我们的程序把所输入的图书信息写入文件中保存,然后在下次程序启动的时候再读取出来,以此来实现了一个类似数据库的功能。

要实现这个功能我们只需要再添加两个函数,一个是保存数据到文件中,一个是读取文件中的数据。

示例代码:

python青少年编程—图书管理系统之文件“数据库”版

第70—74行是保存图书信息的功能,需要注意的是第73行,我们在将图书信息写入文件的时候,需要先将列表数据转换成字符串。

接下来第76—84行是加载或者叫提取数据的功能,需要注意的是第81行,因为我们上面保存信息时将All列表转换成了字符串,所以当我们再次操作的时候需要将字符串还原为列表,来进行图书数据的维护。

这里我们使用了eval函数,有关这个函数的使用我们这里不展开,只需要知道这个函数可以将字符串还原为列表、字典、元组就可以了。

另外这里还用到了异常的处理,原因是当我们第一次运行系统的时候,同名文件夹中并没有图书信息文件。

但如果我们使用open以读取方式打开一个不存的文件会报错,提示文件不存在,从而导致系统崩溃。这和以写入方式打开文件稍微有点区别,因为如果是以写入方式打开一个不存在文件,系统会自动创建一个文件,而不是报错崩溃。

解决的方法当然不止一种,比如我们可以在系统开始运行的时候提前新建一个文件,但是这里我们用到的是异常处理。

有关异常的处理,以后再和大家分享。

下面我们来看一下系统运行的效果:

python青少年编程—图书管理系统之文件“数据库”版

这是第一次打开系统,所以我们输入5显示图书列表会为空。

下面我们来新增一本图书:

python青少年编程—图书管理系统之文件“数据库”版

当我们输入完图书信息,按6键保存之后,我们程序的同级目录下就会产生一个新文件。这个文件保存的内容就是我们输入的图书信息,文件名可以自定义如:.db、.txt或.lw都可以。

下面我们来验证一下:

python青少年编程—图书管理系统之文件“数据库”版

这次我们直接按5,正常显示了上次保存的图书信息。

基本上实现了一个较为完整的图书信息管理系统,有兴趣的小伙伴可以在这个基础上进行修改,升级,发布之后交给学校图书管理员使用。

下面是整个系统的代码截图,有兴趣的小伙伴可以自己去敲敲看,如果有什么问题也欢迎和我交流。

python青少年编程—图书管理系统之文件“数据库”版

python青少年编程—图书管理系统之文件“数据库”版

python青少年编程—图书管理系统之文件“数据库”版

python青少年编程—图书管理系统之文件“数据库”版

图中缺少的行数是空格,没有代码,请放心使用。

本期图书管理系统就为大家介绍到这里,我们下期再会。

 

文章来源:创客编程小屋

本文链接:https://www.ascratch.com/news/17542.html

上一篇:数字化时代人才如何培养?奈学赋能人才梯队升级 下一篇:返回列表