如何将 importlib.resources 与 pickle 文件一起使用?
How do I use importlib.resources with pickle files?
我正在尝试使用 importlib.resources
加载 pickle 文件,但出现以下错误:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte
引发错误的位是:
with importlib.resources.open_text("directory_with_pickle_file", "pickle_file.pkl") as f:
data = pickle.load(f)
我确定文件 (pickle_file.pkl
) 是用 pickle.dump
创建的。
我做错了什么?
通过大量的试验和错误,我发现 importlib.resources
有一个 read_binary
函数可以用来读取 pickled 文件,如下所示:
text = importlib.resources.read_binary("directory_with_pickle_file", "pickle_file.pkl")
data = pickle.loads(text)
这里data
是pickle对象
我正在尝试使用 importlib.resources
加载 pickle 文件,但出现以下错误:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte
引发错误的位是:
with importlib.resources.open_text("directory_with_pickle_file", "pickle_file.pkl") as f:
data = pickle.load(f)
我确定文件 (pickle_file.pkl
) 是用 pickle.dump
创建的。
我做错了什么?
通过大量的试验和错误,我发现 importlib.resources
有一个 read_binary
函数可以用来读取 pickled 文件,如下所示:
text = importlib.resources.read_binary("directory_with_pickle_file", "pickle_file.pkl")
data = pickle.loads(text)
这里data
是pickle对象