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 可以序列化對象并使讀取速度更快。這是真的嗎?怎么做?
1 回答

30秒到達戰場
TA貢獻1828條經驗 獲得超6個贊
如果你想腌制這個東西,把它設置成你想要的列表形式,然后
import pickle open(‘myFile.pickle’,’wb’).write( pickle.dumps(myGiantList) )
和 json 一樣,只是用了 pickle 這個詞。你也可以pickle.dump(myGiantList,’myFile.pickle’)
。如果您還沒有,請務必查看文檔。酸洗不是最好的大小,將數據附加到已經酸洗的文件需要一些旋轉。內存中的一個 gig 文件也是內存中的一個 gig 文件;但是嘗試一下,看看酸洗是否適合您的意圖。
添加回答
舉報
0/150
提交
取消