使用FileInput对象读取文件

读取一个非常大的文件,使用readlines函数会占用太多内存,因为该函数会一次性将文件所有的内容都读到文件列表中,列表中的数据都需要放在内存中,所以非常占用内存。
1.for 循环readlines逐行读取
2.fileinput 模块的input函数读取
input 方法返回一个FileInput 对象,使用的是缓存机制,并不会一次性读取文件的所有内容。所以比readlines更节省内存资源。

import fileinput
fileobj=fileinput.input(r"C:\Users\LHL\Desktop\TB500.csv")
type(fileobj)  
fileobj.readline().rstrip() 
for line in fileobj:
    line=line.rstrip()
    if line !='':
        print(fileobj.lineno(),':',line)
    else:
        print(fileobj.filename())

你可能感兴趣的:(使用FileInput对象读取文件)