#将程序中的数据可以分别以二进制和字符串的形式存储到文件中
#首先引用pickle和json模块,实际应用中只需要引用一个就行
pickle模块是将数据以二进制的形式存储到文件中,json模块是将数据以字符串的形式存储到文件中,一般用pickle,因为json存储到文件中之后用记事本打开可以直接看内容,所以不安全,而二进制文件用记事本打开是乱码,比较安全
import pickle, json
user = {
"admin": {
"username": "admin",
"password": "123",
"nickname": "小王"
}
}
#pickle详细解读:
#用pickle的dump函数将程序的数据以二进制形式存储到文件中:
#open方法在w模式下文件不存在的话创建文件,文件存在的话重新覆盖文件的内容,wb的意思是以二进制的形式存储:
pickle.dump(user, open("data1.txt", "wb"))
#用pickle的load函数将数据文件读取出来,并赋值给前面的变量user,模式是rb模式,rb的意思是以二进制的形式读取:
user = pickle.load(open("data1.txt", "rb"))
#把读出来的数据打印出来,并可以查看它的类型
print(user, type(user))
代码实现:
pickle.dump(user, open("data1.txt", "wb"))
user = pickle.load(open("data1.txt", "rb"))
print(user, type(user))
#json详细解读:
#用json的dump函数将程序的数据字符串的形式存储到文件中:
#open方法在w模式下文件不存在的话创建文件,文件存在的话重新覆盖文件的内容,w的意思是以二进制的形式存储:
#w后边会自动加一个t组成wt
json.dump(user, open("data2.txt", "w"))
#用json的load函数将数据文件读取出来,并赋值给前面的变量user,模式默认是rt模式,rt的意思是以字符串的形式读取:
user = json.load(open("data2.txt"))
#把读出来的数据打印出来,并可以查看它的类型
print(user, type(user))
代码实现:
json.dump(user, open("data2.txt", "w"))
user = json.load(open("data2.txt"))
print(user, type(user))
txt后缀可以换成dat后缀,因为dat后缀是专门存储数据文件的后缀名