码迷,mamicode.com
首页 > 编程语言 > 详细

Python学习笔记(十四)

时间:2017-09-16 20:30:10      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:import   pytho   换行   get   支持   笔记   封装   dump   def   

一、序列化与反序列化

  Python 中的 pickle模块提供了一种序列化对象的方法

  import pickle
  class Student(object):
    def __init__(self,name,age,school="新华")
      self.__name = name
      self.__age = age
      self.__school = school
    def get_dict(slef):
      return { "name":self.__name, "age":self.__age, "shcool":self.__school }
    def get_Student(self,dict):
      return Student(dict["name"],dict["age"],dict["school"])
  file = open(file_path,"wb");
  student1 = Student("CQ",20)
  pickle.dumps(student1,file)  #将对象序列化到文件中去
  picklet.dumps(student1,file) #将对象序列化到file-like object中去
  file.close()
  file1 = open(file_path,"rb")
  student2 = pickle.loads(file2) #从文件中反序列化对象
  student2 = pickle.load(file-like object) #从file-like object中反序列化对象


二、JSON

  JSON是一种简单、便捷、高效的在网络之间传输交换数据的格式,Python通过json模块提供了对JSON的支持

  import json
  studnet1 = Student("CQ",20)
  json_str = json.dumps(student1)  #将对象序列化为JSON格式
  file-like object = json.dump(student1) #将对象序列化为JSON格式并存储在file-like object上
  json.load(json_str) #将json反序列化
  json.load(file-like object) #将json从file-like object反序列化

  JSON原生提供了对dict的支持,但许多时候我们需要对类进行序列化和反序列化,那么就需要在类中编写特定转换行数,将属性封装为一个dict以及将dict转换并返回一个对象

  json.dumps(对象,default = Student.get_dict)
  json.dumps(对象,default = Student.get_dict)
  json.loads(对象,default = Student.get_student)
  json.loads(对象,default = Studnet.get_student)

  
  

Python学习笔记(十四)

标签:import   pytho   换行   get   支持   笔记   封装   dump   def   

原文地址:http://www.cnblogs.com/userchencq/p/7531979.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!