通过yield实现文件的读取
next():读取生成器内容
next():读取生成器内容
def bylineread(fimename):
with open(fimename) as f:
line = f.readline()
while line:
yield line
line = f.readline()
#read是一个生成器对象
read = bylineread('data.txt')
print(read)
#1.next读取生成器内容
print(next(read))
print(next(read))
运行:
for遍历循环读取
def bylineread(fimename):
with open(fimename) as f:
line = f.readline()
while line:
yield line
line = f.readline()
#read是一个生成器对象
read = bylineread('data.txt')
print(read)
#for
for item in read:
print(item)
运行:
文件对象是可以foe循环遍历的
from collections import Iterable
f = open('data.txt')
print(isinstance(f,Iterable))
for i,item in enumerate(f):
if i == 10:
break
print(i,item)
运行: