Json和pickle的功能是对数据进行序列化
将对象转换为可通过网络传输或可以存储到本地磁盘的数据格式(如:XML、JsON或特定格式的字节串)的过程称为序列化;反之,则称为反序列化
<div >
<pre >import Json
List1=[1,2,3,"hello world"]
data1=Json.dumps(List1)
print(data1)#[1,"hello world"]
dict1={"one":1,"two":2,"three":3}
data2=Json.dumps(dict1)
print(dict1)#{'one': 1,'two': 2,'three': 3}
data1=Json.loads(data1)
print(data1)#[1,'hello world']
data2=Json.loads(data2)
print(data2)#{'one': 1,'three': 3}
print(data2["one"])#1
dump和load
这两种方法可将序列化的数据存到文本和读取文本中序列化的数据
with open("Listfile","r") as f2:data=Json.load(f2)
print(data)
<div >
<pre >import pickle
class people:
def init(self,name,age):
self.name=name
self.age=age
sfencs=people("sfencs",19)
data=pickle.dumps(sfencs)
print(data)#b'\x80\x03cmain\npeople\nq\x00)\x81q\x01}q\x02(X\x04\x00\x00\x00nameq\x03X\x06\x00\x00\x00sfencsq\x04X\x03\x00\x00\x00ageq\x05K\x13ub.'
data=pickle.loads(data)
print(data)#<main.people object at 0x0000029D8402DDA0>
pickle和Json同样支持dump,load,dumps,loads方法
<div >
<pre >import shelve
with shelve.open("shelvefile") as f:
f["one"]=1
f["two"]=2
with shelve.open('shelvefile') as f:#只使用shelvefile名字即可
print(f["one"])#1
for key,value in f.items():
print(key,': ',value)
#two : 2
总结
以上是内存溢出为你收集整理的python基础学习17----json&pickle&shelve全部内容,希望文章能够帮你解决python基础学习17----json&pickle&shelve所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)