如何使用 pickle 序列化这个对象?
How to use pickle to serialize this object?
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,但我的头 pickle 可以序列化对象并使读取速度更快。这是真的吗?如何做到这一点?
如果你想腌制这个东西,把它设置成你想要的列表形式,然后
import pickle
open(‘myFile.pickle’,’wb’).write( pickle.dumps(myGiantList) )
与json相同,只是多了一个pickle字样。
你也可以pickle.dump(myGiantList,’myFile.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,但我的头 pickle 可以序列化对象并使读取速度更快。这是真的吗?如何做到这一点?
如果你想腌制这个东西,把它设置成你想要的列表形式,然后
import pickle
open(‘myFile.pickle’,’wb’).write( pickle.dumps(myGiantList) )
与json相同,只是多了一个pickle字样。
你也可以pickle.dump(myGiantList,’myFile.pickle’)
。
如果还没有,请务必查看文档。
酸洗不是最适合大小的,并且将数据附加到已经酸洗的文件需要一些旋转。内存中的一个演出文件也是内存中的一个演出文件;但试试看酸洗是否适合你的意图。