【问题标题】:How to serialize objects using pickle in python3如何在python3中使用pickle序列化对象
【发布时间】:2018-06-12 15:51:44
【问题描述】:

我读过“如何像计算机科学家一样思考。用 Python 学习”。书。所以我通常可以毫无困难地解释从 python2 到 python3 的示例,但是在第 11 章文件和异常中我遇到了这个 sn-p

>>> import pickle
>>> f = open("test.pck", "w")
>>> pickle.dump(12.3, f)
>>> pickle.dump([1,2,3], f)
>>> f.close() 

当我使用 Python 3.5.2 评估它时会出现此错误

Traceback (most recent call last):  File "/(myDirs)/files.py", line 3, in <module>
    pickle.dump(3.14, f)
TypeError: write() argument must be str, not bytes

我不是一个好的文档阅读器,所以如果你能帮助我解决这个谜题,我将不胜感激。

【问题讨论】:

    标签: python-3.x object serialization


    【解决方案1】:

    您需要以二进制模式打开文件。

    在第 2 行:

    f = open("test.pck", "wb")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-07
      • 2019-06-03
      • 2019-03-09
      相关资源
      最近更新 更多