查看: 1719|回复: 2

read file memoryerror

[复制链接]

9

主题

74

帖子

185

积分

注册会员

Rank: 2

积分
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
回复

使用道具 举报

22

主题

107

帖子

266

积分

中级会员

Rank: 3Rank: 3

积分
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"))
在这两种情况下,函数都会得到一个迭代器,它可以像字符串列表一样被处理
回复

使用道具 举报

10

主题

72

帖子

180

积分

注册会员

Rank: 2

积分
180
发表于 2018-9-27 09:45:30 | 显示全部楼层
使用下面代码一行一行地读
for line in open('data.txt'):
    # work with line
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表