小编A.M*_*nov的帖子

误解了python的收益率

以下代码的工作正确:

def file_gen(f_name):
    f = open(f_name)
    for line in f:
        yield line

gen_line = file_gen("foo.html")
gen_line.next() # '<!DOCTYPE>\n'
gen_line.next() # '<html> \n' 
gen_line.next() # ... next line in file 
Run Code Online (Sandbox Code Playgroud)

但是这个功能提升了StopIteration.我不明白为什么?

def file_gen(f_name):
    f = open(f_name)
    line = f.readline()
    yield line

gen_line = file_gen('foo.html')
gen_line.next()  # '<!DOCTYPE>\n'
gen_line.next()  # StopIteration
Run Code Online (Sandbox Code Playgroud)

python yield generator

6
推荐指数
1
解决办法
1353
查看次数

标签 统计

generator ×1

python ×1

yield ×1