python读取文件过大时的读方法

python读取文件过大时的读方法:只能一行一行读取。
具体有两种办法:

  1. for ... in ...
with open("file") as fh:
    for line in fh:
        print(line.strip())
  1. 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只是个指针。但在操作时除了没有装入,其他无异。

你可能感兴趣的:(python读取文件过大时的读方法)