我正在与cPickle一起工作,目的是将结构数据转换为数据流格式并将其传递给库。我要做的是从手动写入的文件名“targetstrings.txt”中读取文件内容,并将文件内容转换为Netcdf库所需的格式,如下所示:

注意:targetstrings.txt包含拉丁字符

op=open("targetstrings.txt",'rb')
targetStrings=cPickle.load(op)

Netcdf库将内容作为字符串。
加载文件时,它遇到以下错误,
cPickle.UnpicklingError: invalid load key, 'A'.

请告诉我如何纠正此错误,我已经在Google周围搜索但未找到合适的解决方案。

有什么建议么,

最佳答案

pickle不是用于读取/写入通用文本文件,而是用于将Python对象序列化/反序列化到文件。如果要读取文本数据,则应使用Python's usual IO functions

with open('targetstrings.txt', 'r') as f:
    fileContent = f.read()

如果看起来好像该库只想要一个字符串列表,并将每一行作为一个列表元素,则只需执行以下操作:
with open('targetstrings.txt', 'r') as f:
    lines=[l for l in f]
# now in lines you have the lines read from the file

关于python - cPickle.load()错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10316037/

10-13 08:40