开发者社区> 问答> 正文

序列化Python对象

你需要将一个Python对象序列化为一个字节流,以便将它保存到一个文件、存储到数据库或者通过网络传输它。

展开
收起
哦哦喔 2020-04-17 12:32:09 910 0
2 条回答
写回答
取消 提交回答
  • 代码改变世界,我们改变代码

    补充一下,建议使用

    import io

    with io.open() as fp:

    免得出现乱码。

    2020-05-01 20:15:42
    赞同 展开评论 打赏
  • 对于序列化最普遍的做法就是使用 pickle 模块。为了将一个对象保存到一个文件中,可以这样做:
    
    import pickle
    
    data = ... # Some Python object
    f = open('somefile', 'wb')
    pickle.dump(data, f)
    为了将一个对象转储为一个字符串,可以使用 pickle.dumps() :
    
    s = pickle.dumps(data)
    为了从字节流中恢复一个对象,使用 pickle.load() 或 pickle.loads() 函数。比如:
    
    # Restore from a file
    f = open('somefile', 'rb')
    data = pickle.load(f)
    
    # Restore from a string
    data = pickle.loads(s)
    
    2020-04-17 12:33:22
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载