在前面的各篇内容中,我们了解了如何使用各种类型的对话框来接收用户输入,但接收数据后,一般是需要将数据保存到某个地方,以供后续使用。我们可以使用文件、数据库等来存储数据。但其实在easygui中,也提供了一个EgStore类来保存数据。它提供了三个方法来实现对数据的存储和读取:
- store():将数据保存到指定的文件
- restore():从文件中读取以前保存的数据
- kill():删除存储文件
它其实使用文本文件来保存,当然,它是使用pickle将数据系列化之后保存的,所以数据我们不借助一定的手段是无法用肉眼读取出来的。如果并非什么机密信息,数据量也不大的话,使用EgStore来保存数据也是个不错的方法。
要使用EgStore存储数据,我们可以首先定义一个EgStore的子类,例如:
class User(EgStore):
def __init__(self,filename):
EgStore.__init__(self, filename)
然后,就可以使用它来存储数据了。我们可以将需要存储的数据当做User对象的属性,然后调用User对象的store()方法即可:
user = User("store.txt")
user.user_name = "张三"
user.password = "password"
user.store()
print(user)
执行以上代码后,会生成一个store.txt文件,里面存储了user对象的所有属性,包括文件名以及最后保存时间,如果执行了restore操作,还有最后restore的时间:
filename : store.txt
user_name : 张三
password : password
last_time_stored : 2022-03-16 09:24:13.036400
以上代码可以直接在好学好教网站直接访问操作,点击此处打开程序。