json以及 pickle序列化 - liudl240/PYTHON3 GitHub Wiki

json以及 pickle序列化

eval文本转化为字典

# 生成一个字典
list1={
    "name":"james.liu",
    "age":"23",
    "salay":"1500"
}
# 把字典转化为字符串,写入到文本中
data=str(list1)
with open("./json.txt" ,"w") as f:
    f.write(data)
    f.close()
"""
通过eval转化文字为字典,读出数据
"""
with open("./json.txt","r") as f:
    data=eval(f.read())
    print(data["name"])

json方式

"""
导入json
"""
import json
"""
生产字典
"""
list1={
    "name":"james.liu",
    "age":"23",
    "salay":"1500"
}
"""
将字典写入到文本中
"""
with open("./json.txt","w") as f:
    f.write(json.dumps(list1))
    f.close()
"""
读取文本,
"""
with open("./json.txt","r") as f:
    print(json.loads(f.read())["age"])
    f.close()

pickle方式

#导入pickle模块
import pickle
"""
创建一个字典
"""
list1={
    "name":"james.liu",
    "age":"23",
    "salay":"1500"
}
"""
pickle的方式是二进制的,当使用不了json的时候使用这个
"""
print(pickle.dumps(list1))
"""
通过pickle把字典写入到文件中
"""
with open("./json.txt","wb") as f:
    f.write(pickle.dumps(list1))
    f.close()

"""
通过pickle方式,把字典从文本中读出出来
"""
with open("./json.txt","rb") as f:
    print(pickle.loads(f.read())["age"])
    f.close()