Как использовать pickle для сериализации этого объекта? - PullRequest
0 голосов
/ 30 апреля 2020
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 = [[,,,], [,,,], [,,,] ]

Этот файл имеет размер 1 ГБ, и каждый раз, когда я запускаю программу, просто требуется загрузить этот файл в список для инициализации.

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 abut У меня голова рассола может сериализовать объект и сделать чтение намного быстрее. Это правда и как это сделать?

1 Ответ

0 голосов
/ 30 апреля 2020

Если вы хотите мариновать вещь, установите ее в нужной форме списка, тогда

import pickle
open(‘myFile.pickle’,’wb’).write(  pickle.dumps(myGiantList)  )

Это то же самое, что и json, но со словом «маринование». Вы также можете pickle.dump(myGiantList,’myFile.pickle’). Не забудьте проверить документы, если у вас нет. Травление не является лучшим по размеру, и для добавления данных в уже маринованный файл требуется некоторое вращение. Также один гигабайтный файл в памяти - это один гигабитный файл в памяти; но попробуй и посмотри, подходит ли тебе маринование.

...