在迭代中返回lambda的yield
f=open('C:\\Python33\\text file.txt','r')
for c in iter(lambda: f.read(1),'\n'):
print(?)
我该怎么打印出 lambda: f.read(1)
这个表达式返回的值呢?
1 个回答
3
只需要打印出 c
。这就是你在 for 循环中从 iter()
得到的东西。
f=open('C:\\Python33\\text file.txt','r')
for c in iter(lambda: f.read(1),'\n'):
print(c)
有个小建议,可以使用 with
语句:
with open('C:\\Python33\\text file.txt', 'r') as f:
for c in iter(lambda: f.read(1), '\n'):
print(c)
这样你就不需要再调用 f.close()
了。