python - 如何使用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 可以序列化对象并使读取速度更快。这是真的吗?怎么做?
解决方案
如果你想腌制这个东西,把它设置成你想要的列表形式,然后
import pickle
open(‘myFile.pickle’,’wb’).write( pickle.dumps(myGiantList) )
和 json 一样,只是用了 pickle 这个词。你也可以pickle.dump(myGiantList,’myFile.pickle’)
。如果您还没有,请务必查看文档。酸洗不是最好的大小,将数据附加到已经酸洗的文件需要一些旋转。内存中的一个 gig 文件也是内存中的一个 gig 文件;但是尝试一下,看看酸洗是否适合您的意图。
推荐阅读
- flutter - 颤动在图标下方的选择上显示小弹出窗口
- jenkins - 将单个全局配置字符串添加到自定义 Jenkins 插件
- python - 有什么方法可以从 WOEID(地球上的标识符)获取区域名称吗?
- python - 亚马逊 sp-api。使用旧 MWS 令牌和大摇大摆生成的代码进行身份验证
- wordpress - 带有 %tags% 的自定义永久链接会破坏存档分页,但不适用于类别存档分页
- android - 使用 Django REST Framework 和 React Native 从网站导入配方
- node.js - 无法在 Linux (ubuntu 18.04) VM 上更新 npm
- python - seaborn 散点图在 python 中并排显示在 jupyter notebook 的单个单元格中
- vbscript - 使用 ASP,如何使用 if/else 显示两个图像之一?
- jestjs - 如何在 Jest 框架中导入 ibm_db 模块?