1.pickle
能够将python数据类型存储到文件中,再从文件中读取数据类型直接使用
# coding=utf-8
import pickle
null= None
data={"data":{"createTime":1387621717651,"userId":8413886,"productName":"武易白金礼包","historyId":1436,"code":"266c206eefb442a2a0b38cf4d9e53d39","updateTime":1387621717651,"productId":12,"productDetail":null,"productType":1,"eventId":3,"eventName":null,"historyStatus":0},"resultCode":"SUCCESS","misc":{"createTime":1387438806000,"historyId":1436,"updateTime":1387621717000,"productId":12,"itemId":327006,"itemValue":null,"itemStatus":1}}
with open('test.pik','wb')as f:
pickle.dump(data,f,-1)
#coding=utf-8
import pickle
with open('test.pik', 'rb') as f:
data = pickle.load(f)
print type(data)
2.json
如果将一个字典或者其他的数据结构作为一个string存储到了文件中,从文件读出来想要作为原来的数据结构使用时,该如何?
最常见的场景是 从服务器端返回一个json串,类似与python中的字典结构,这时候,可以借用json模块
obj=json.loads(jsonstr)
jsonstr=json.dumps(obj)
import json
null=None
def read2json(file):
fhandler=open(file)
try:
lines=fhandler.readlines()
for line in lines:
print type(line)
try:
data_object=json.loads(line)
#如果不是json串,则会产生ValueError
except ValueError,e:
print"value error", e
else:
print type(data_object)
finally:
fhandler.close()
if __name__=="__main__":
read2json("aliupengtest.txt")