什么是“ file_like_object”,什么是“ file”;pickle.load()和pickle.loads()

Eri*_*ani -1 python pickle data-processing

我正在弄清楚pickle.load()和之间的区别pickle.loads()。有人说pickle.load()处理的对象是“ file_like_object”,但是pickle.loads()对应于“ file object”。

Jon*_*art 7

您选择使用哪个函数取决于加载腌制数据的对象:


pickle.loads用于从bytes字符串加载腌制的数据。“ s” loads表示在Python 2中从字符串加载数据的事实。

例如:

import pickle

with open("myobj.pickle", "rb") as f:
    rawdata = f.read()

myobj = pickle.loads(rawdata)
Run Code Online (Sandbox Code Playgroud)

pickle.load用于从类似文件的对象中加载腌制的数据。这是任何行为类似于文件的对象-在这种情况下,意味着它有一个read()return的方法bytes

例如:

import pickle

with open("myobj.pickle", "rb") as f:
    myobj = pickle.load(f)
Run Code Online (Sandbox Code Playgroud)

相同的约定适用于pickle库中的dump/ dumps函数以及json模块和其他函数。