如何使用pickle序列化这个对象?

I have a big text file, space delimited like below:



 This is a test

 This is a second test

 And this is a third test

我需要将每一行读入一个列表,所以第一行是:


["This, "is",  "a",  "test"]

整个文件将被读入一个列表:


content = [[,,,], [,,,], [,,,] ]

这个文件有一个 1G 大,每次我运行程序时,都需要很长时间才能将这个文件加载到列表中进行初始化。


class FileLoader(object):


     def __init__(object):

        self.content_list = load('./file_path')


     def load(file_path):

        content_list = []

        with open(file_path, 'r') as f:

           for line in f:

               words = line.split(' ')

               content_list.append(words)

        return content_list

我从来没有使用过pickle,但是我head pickle 可以序列化对象并使读取速度更快。这是真的吗?怎么做?



扬帆大鱼
浏览 72回答 1
1回答

30秒到达战场

如果你想腌制这个东西,把它设置成你想要的列表形式,然后import pickle open(‘myFile.pickle’,’wb’).write(  pickle.dumps(myGiantList)  )和 json 一样,只是用了 pickle 这个词。你也可以pickle.dump(myGiantList,’myFile.pickle’)。如果您还没有,请务必查看文档。酸洗不是最好的大小,将数据附加到已经酸洗的文件需要一些旋转。内存中的一个 gig 文件也是内存中的一个 gig 文件;但是尝试一下,看看酸洗是否适合您的意图。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python