蛋蛋超人 发表于 2018-9-27 09:42:11

read file memoryerror

当我使用以下代码读取文件:
lines=file("data.txt").read().split("\n")
给我报了一个MemoryError
文件大小如下
ls -l
-rw-r--r-- 1 charlie charlie 1258467201 Sep 26 12:57 data.txt

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

令狐少侠 发表于 2018-9-27 09:45:30

使用下面代码一行一行地读
for line in open('data.txt'):
    # work with line
页: [1]
查看完整版本: read file memoryerror