设为首页
收藏本站
切换到宽版
登录
注册
找回密码
搜索
搜索
本版
文章
帖子
用户
快捷导航
易学开发平台
易学在线课堂
易学智能论坛
BBS
易学智能
»
易学智能论坛
›
技术大讨论
›
Python开发
›
read file memoryerror
返回列表
查看:
1719
|
回复:
2
read file memoryerror
[复制链接]
蛋蛋超人
蛋蛋超人
当前离线
积分
185
9
主题
74
帖子
185
积分
注册会员
注册会员, 积分 185, 距离下一级还需 15 积分
注册会员, 积分 185, 距离下一级还需 15 积分
积分
185
发消息
发表于 2018-9-27 09:42:11
|
显示全部楼层
|
阅读模式
当我使用以下代码读取文件:
lines=file("data.txt").read().split("\n")
给我报了一个MemoryError
文件大小如下
ls -l
-rw-r--r-- 1 charlie charlie 1258467201 Sep 26 12:57 data.txt
回复
使用道具
举报
马猴烧酒
马猴烧酒
当前离线
积分
266
22
主题
107
帖子
266
积分
中级会员
中级会员, 积分 266, 距离下一级还需 234 积分
中级会员, 积分 266, 距离下一级还需 234 积分
积分
266
发消息
发表于 2018-9-27 09:44:40
|
显示全部楼层
很明显,文件太大了,不能一次读入内存
with open("data.txt") as myfile:
for line in myfile:
do_something(line.rstrip("\n"))
如果是python2.6以下版本
myfile = open("data.txt")for line in myfile: do_something(line.rstrip("\n"))
在这两种情况下,函数都会得到一个迭代器,它可以像字符串列表一样被处理
回复
使用道具
举报
令狐少侠
令狐少侠
当前离线
积分
180
10
主题
72
帖子
180
积分
注册会员
注册会员, 积分 180, 距离下一级还需 20 积分
注册会员, 积分 180, 距离下一级还需 20 积分
积分
180
发消息
发表于 2018-9-27 09:45:30
|
显示全部楼层
使用下面代码一行一行地读
for line in open('data.txt'):
# work with line
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表