day16 序列化

概念     序列化是指将某种数据类型做一种特殊的字符串形式处理,方便数据类型的存取以及传输。   意义     在程序中,如果需要用到一些数据存放个人信息,比如用户名和密码字典类型,那么会在多种场景下需要用到这个数据。如果将该数据用作全局变量,一方面不安全,另一方面也很不方便,让所有的程序都来调用这个变量不现实。所以需要一个文件专门用来存储该数据类型。但是由于一般情况下从文件中读取出来的都是字符串数据类型,已经不再是原来的字典类型了,导致数据不可用。这个时候就需要用到序列化,通过序列化,可以对数据类型作特殊的序列化处理,存储在文件中,需要用到该数据类型时,通过反序列化就可以还原原有的数据类型。总而言之,一方面为了数据类型的存储,另一反面,为了方便数据的传输。   如何实现序列化     json模块:对多种编程语言通用,只有部分数据类型能序列化。(dict list tuple str int float false true None)
        用于数据的存取:dump load        import json     f=open('testseq',encoding='utf-8',mode='w')     dict1={'张三':16,'王五':18}     json.dump(dict1,f)     f.close()     s=open('testseq',encoding='utf-8')     k=json.load(s)     print(k,type(k))    //{'张三': 16, '王五': 18} <class 'dict'>     s.close()       用于数据的传输:dumps loads       dict2={'张三':16,'王五':18}     str_dict2=json.dumps(dict2,ensure_ascii=False)     print(str_dict2,type(str_dict2))    //{"张三": 16, "王五": 18} <class 'str'>     ret=json.loads(str_dict2)     print(ret,type(ret))      //  {'张三': 16, '王五': 18} <class 'dict'>     pickle模块:只在python中使用,所有数据类型都可以序列化。具体用法和json模块一样
上一篇:story


下一篇:个人博客制作(一)