当前位置: 首页 > 面试题库 >

如何读取泡菜文件?

景河
2023-03-14
问题内容

我创建了一些数据并将其存储了几次,如下所示:

with open('filename', 'a') as f:
        pickle.dump(data, f)

每次文件大小增加,但是当我打开文件

with open('filename', 'rb') as f:
    x = pickle.load(f)

我只能看到上次的数据。如何正确读取文件?


问题答案:

Pickle一次序列化一个对象,然后读回一个对象-腌制的数据按顺序记录在文件上。

如果您只是简单地这样做pickle.load,则应该读取序列化到文件中的第一个对象(而不是您编写的最后一个对象)。

对第一个对象进行反序列化后,文件指针位于下一个对象的开头-如果您pickle.load再次调用,它将读取下一个对象-这样做直到文件结束。

objects = []
with (open("myfile", "rb")) as openfile:
    while True:
        try:
            objects.append(pickle.load(openfile))
        except EOFError:
            break


 类似资料:
  • 所以。。。我需要从.pkl文件中读取并导入图像数据集。图像存储为“二进制blob”。一旦完成了,我需要将它们转换成字节格式,这样我就可以通过Google的CloudVision运行它们。我设法在Linux虚拟机上打开了该文件(花了几天时间试图让它在Windows上工作…)。但现在我似乎无法将这个“二进制斑点”转换为我可以使用的实际图像。。。 下面是一个“二进制blob”: \1\x0 0 0 0\

  • 我试图读取熊猫泡菜时出错,例如方法,该方法存储在谷歌云存储中。我正在努力做到以下几点: 我得到以下错误: 或者我试着: 它可以在本地工作,但不能在CloudML上工作! 给我一个错误:AttributeError:'bytes'对象没有属性'seek'

  • 我在谷歌云数据流中运行批处理管道。我需要在一个管道中读取另一个管道以前写过的对象。最简单的wa对象是pickle/dill。 编写工作很好,编写了许多文件,每个文件都有一个pickled对象。当我手动下载文件时,我可以打开文件。编写代码: 要么... ...或者... (对象的类位于带有的路径中,但不确定为什么会错过最后一个字符) 谢谢!

  • 问题内容: 我想读取一个包含空格分隔值的文本文件。值是整数。如何读取并将其放入数组列表? 这是文本文件内容的示例: 我想将它包含在arraylist中。如何用Java做到这一点? 问题答案: 你可以用来将文本文件的所有行都放入。 教程:基本文件读取,写入和创建文本文件 你可以用来基于正则表达式拆分部分。 教程:数字和字符串>字符串>操纵字符串中的字符 你可以使用将转换为。 教程:数字和字符串>字符

  • 我有一个“异常”的json文件。 像这样的文件体 我已经尝试了很多方法来导入这个到mongo通过pymongo,但我不能加载文件体与json加载器或bson加载器。我知道这不是一个普通的json或bson文件。 但我使用mongoimport将此文件成功导入mongodb。 有人知道如何解决这个问题并让它发挥作用吗?我怎么能导入这个文件到mongoDB使用pymongo?

  • 问题内容: 我在JMeter中将CSV格式用于数据文件。我们的副总裁希望将格式更改为JSON。如何从磁盘读取JSON文件? 问题答案: 您至少有2个选择: 使用HTTP请求采样器和协议,例如: JSON文件基本上是纯文本文件,因此您将能够使用JSON提取器或JSON路径提取器来解析JSON数据并将结果存储到JMeter变量中,以供以后重用 参考文献: 使用JSR223测试元素和Groovy语言。G