• python 序列化 pickle和json


    我们把对象(变量)从内存中变成可存储或传输的过程称为序列化,在Python中用pickle或json标准库。序列化之后,就可以把序列化后的内容写入磁盘,或者通过网络传输的别的计算机上。

    pickle:支持Python里所有的数据类型(包括函数)

    json:支持str,int,tule,list,dict

    如果我们要在不同的编程语言之间传递对象,就必须把对象序列化为标准格式,比如XML,但更好的方法是序列化为json,因为json表示出来就是一个字符串,可以被所以语言所读取,也可以方便地存储到磁盘或者通过网络传输。json不仅是标准格式,而且比xml快,可以直接在web页面中读取,非常方便。

    import json

    #---序列化--- dic={'name':'jack','age':22,'sex':'male'} data=json.dumps(dic) f=open('json_test.txt','w') f.write(data) #--json.dump(dic.f)
    f.close()
    #---反序列化---
    fr=open('json_test.txt') 
    dicdata=json.loads(fr.read()) #---等价于dicdata=json.load(fr)
    fz.close()
    
    

    json:JavaScript Object Notation,是一种轻量级的数据交换格式。Json最广泛的应用是作为AJAX中web服务器和客户端的通讯的数据格式。

    将Python对象转换成json对象常用的两个函数是dumps和dump,之间唯一的区别就是dump把Python对象转换成json对象生成一个fp文件流,而dumps则生成一个字符串。

    将json对象转成Python对象常用的两个函数是load和loads,区别同上。

    下面是pickle标准库的用法:

    import pickle

    #---序列化--- dic={'name':'jack','age':22,'sex':'male'} p=pickle.dumps(dic) f=open('pickle_test','wb') #---等价于pickle.dump(dic,f) f.write(p) f.close()
    #---反序列化--- fr=open('pickle_test','rb') dicata=pickle.loads(fr.read()) #---等价于dicdata=pickle.load(fr) fr.close()

      

    参考资料:https://www.cnblogs.com/fmgao-technology/p/9078924.html 

  • 相关阅读:
    Azure SQL Storage
    T-SQL quries
    映射盘符
    繁体及其输入法、乱码问题
    匈牙利命名法
    C++四种转换总结
    windows系统下进程间通信
    Qt 中文字符串问题
    PDB文件详解
    DbgView 无法开启Capture Kernel问题
  • 原文地址:https://www.cnblogs.com/blogzyq/p/11105060.html
Copyright © 2020-2023  润新知