python读取文件过大时的读方法:只能一行一行读取。
具体有两种办法:
- for ... in ...
with open("file") as fh:
for line in fh:
print(line.strip())
- while fh.readline():
with open("file") as fh:
line = fh.readline()
while line:
print(line.strip())
line = fh.readline()
总结:
之前写的都是这样的:
with open('little1',"r") as file:
row_num = 0
for line in file.readlines():
file已经是一个可迭代行的对象了,file再进行readlines实际上要把所有的行都装入内存,得到的结果是对同一个对象的引用,在大文件时完全没有必要。
即,若把file.readlines()叫做file2,file2和file是同一个东西,只不过file2就是一个拷贝,而file只是个指针。但在操作时除了没有装入,其他无异。
网友评论