科研日志--python大文件打开内存溢出
关于python运行大文件导致死机的问题
最近因为科研需要,需要打开一个巨大的txt文件。借鉴了Python读取大文件的行数中的代码片段,成功按行读取了大小为5.6GB的.txt文件。但最终因为所设置的model变量需要将5.6GB文件的数据全部转换为.npy的形式,占用内存过大导致溢出。
所用代码片段如下:
count=0
model = {}
fp = codecs.open("filename","r")
while 1:buffer = fp.readlines(1024*1024*16)if not buffer:breakfor line in buffer:splitLine = line.split()if splitLine[1] == '.' or splitLine[1] == 'name@domain.com':continueword = splitLine[0]embedding = [float(val) for val in splitLine[1:]]model[word] = embeddingcount+=len(buffer)print (count)
print (count)
print ('over')
fp.close()
期间测试了一些常用的文本读取方法:
1. f.read()
该命令会将所读取的文本变成一行类型为str的数据输出
2. f.readlines()
该命令会按行读取文件,并将每一行视为一个长长的str字符串,储存在list中。所以要用到str类型的split命令时,需要先从list中索引字符串
科研日志--python大文件打开内存溢出相关推荐
- springboot上传大文件时内存溢出的可能解决办法
springboot上传大文件时内存溢出的可能解决办法 在springboot中上传大文件时要考虑内存的情况,一般我们会通过在执行服务时加入-Xms512m -Xmx512m等参数加大堆内存,但这是指 ...
- python读取大文件csv内存溢出_Python,内存错误,csv文件太大
我有一个python模块的问题,它不能处理导入大数据文件(文件目标.csv重量接近1 Gb) 加载此行时出现错误:targets = [(name, float(X), float(Y), float ...
- 大文件下载---之内存溢出问题解决
我是在log日志下载的时候出现的错误,查了之后发现是文件过大造成内存溢出,因而下载出错. 报错:java.lang.OutOfMemoryError: Java heap space 正确代码: @R ...
- POI3.8解决导出大数据量excel文件时内存溢出的问题
POI3.8解决导出大数据量excel文件时内存溢出的问题 参考文章: (1)POI3.8解决导出大数据量excel文件时内存溢出的问题 (2)https://www.cnblogs.com/feng ...
- html大文件占用内存,[Flutter] 大文件上传之随传随处理(避免占用大量内存)
今天碰到一个上传较大的视频文件到S3引发闪退的问题.经查此问题产生的原因是内存溢出,连个闪退日志都没有. 这个上传使用的是第三方的插件,我是用 uploadFileStream 来上传文件的,查看其实 ...
- python 保存文件 吃内存_孤荷凌寒自学python第三十七天python的文件与内存变量之间的序列化与反序列化...
孤荷凌寒自学python第三十七天python的文件与内存变量之间的序列化与反序列化 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.什么是序列化与反序列化 序列化是指将内存中的数据进行指 ...
- json大文件打开与美化
背景 之前对接一个第三方的组织机构同步接口,选择全量同步时,它响应的json数据竟然有100多M. 虽然对方提供了接口文档,但是死脑筋的我,还是来来回回折腾了好久. 这里记录下遇到的问题和解决方案. ...
- python大文件排序_Python如何实现大文件排序?Python大文件排序的实现方法
Python如何实现大文件排序?Python大文件排序的实现方法 本文实例讲述了Python实现大文件排序的方法.分享给大家供大家参考.具体实现方法如下: import gzip import os ...
- Python大文件解析的效率问题
论坛求助与自行摸索相结合,基本解决python大文件解析效率问题.现将过程与结论存档,供有需要者参考. =================前言==================== 看着python ...
最新文章
- MVVM中轻松实现Command绑定任意事件的Command
- 每日程序C语言48-字符串排序
- ajax(检测用户名,添加数据)
- 产品和运营的区别是什么?
- 红橙Darren视频笔记 view的invalidate调用draw方法的流程(源码分析基于api 29)
- mysql 列合并_实战讲解MySQL执行计划,面试官当场“要了我”
- 美女,真的有标准吗?
- JAVA编程中的类和对象
- 对CSS选择器的理解
- EF框架step by step(1)—Database-First
- 蒙特卡罗方法计算圆周率C语言,用蒙特卡罗方法计算圆周率
- 106短信发送失败的原因
- 步态情绪识别:STEP学习
- 【SpringMVC】Resultful风格映射url
- java sign函数_C / C ++中是否有标准的符号函数(signum,sgn)?
- 【工具使用】go build 命令打包成exe
- 推荐一款远程控制软件Toesk。支持文件传输、高清画质、隐私屏、键盘鼠标映射等功能。
- ESP8266学习之路 十二 (读写文件)
- Qt QString 增、删、改、查、格式化等常用方法总结
- lqc_基于IP地址,端口的访问控制