JSON模块的操作
python 中一个特殊的模块可以直接将
python中的数据进行序列化
序列化:按照特定的数据顺序定义数据格式
# json 模块的操作
import json
users = {'usename': 'usename', 'password': "password"}
with open(file='./date/demo03.json', mode='w') as file:
json.dump(users, file)
with open(file='./date/demo03.json', mode='r') as file:
users = json.load(file)
print(users, type(users))
多数据存储:marshal 模块
import marshal
# marshal模块
s = 'abc'
num = 3
f = 4.13
l = ['a', 'b', 'c']
d = {'admin':'admin', 'password': 'password'}
x = [s,num,f,l,d]
with open(file='./date/.demo04.bat', mode='wb') as file:
# 第一次存储一个数量:有多少个数据存储到了文件中
marshal.dump(len(x),file)
# 依次存储每个数据
# for i in x:
# marshal.dump(i,file)
with open('./date/.demo04.bat', 'rb') as file:
a = marshal.load(file)
print(a)
# 依次取出每个数据
for i in range(a):
print(marshal.load(file))
shelve 模块:
python存取多个数据到文件中
如果按照常规方式~open/write/read方式,每个独立的数据都的单独存储 一个文件
1. str()数据:字符串:文件存储->文件读取:eval():数据
2. 数据:json.dump():文件存储->json.load():数据
如果要存储多个数据到一个文件中
3. 多个数据:总数量:marshal.dump()->marshal.load(fp):总数量:循环->marshal.load(fp)依次读取
多个数据,也可以按照比较友好的like dict的方式,将数据存储到文件中
可以将数据在文件中,通过key值直接获取对应的数据
import shelve
users = {'username': 'username', 'password': 'password'}
articles = {'title': 'title', 'author': 'author'}
file = shelve.open('./date/demo5_shelve')
# 1. 将多个数据按照key:value的形式存储到文件中
file['users'] = users
file['articles'] = articles
# 从文件中根据key读取数据
print(file['users'],type(file['users']))