你好,我是python的初学者,有一个简单的问题.我被要求编写一个生成器来遍历一个txt文件,文件中的每一行是一个点(x,y,z)的3个坐标如何在每次调用next()时返回5个点(5行)?
这是我的代码,我每次只能生成一行!
import itertools
def gen_points(name):
f=open(name)
for l in f:
clean_string=l.rstrip()
x,y,z=clean_string.split()
x= float(x)
y= float(y)
z= float(z)
yield x,y,z
f.close()
file_name=r"D:\master ppt\Spatial Analysis\data\22.txt"
a=gen_points(file_name)
g=itertools.cycle(a)
print(next(g))
Run Code Online (Sandbox Code Playgroud)