首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

关于判断文本块的生成器小函数理解的有关问题

2012-04-08 
关于判断文本块的生成器小函数理解的问题Python codedef blocks(file):block[]#先是定义一个空的变量for

关于判断文本块的生成器小函数理解的问题

Python code
def blocks(file):    block=[]                                       #先是定义一个空的变量    for line in lines(file):                  #在for循环中判断这个字符串        if line.strip():                           #如果line中有值            block.append(line)            #把字符串添加到block中        elif block:                                #如果block有值            yield ''.join(block).strip()    #添加空格把每一个文本块连接起来            block=[]                              #为什么要把它清空呢


是不是我还不了解生成的特点,想了一晚上,还是没有搞懂,求解中....

[解决办法]
拿一个具体的输入文件试一下就知道了。
[解决办法]
如果不清空就重复了,比如读了3行
111
222
333
然后join, 下次又读2行
444
555
如果你不清空,则blocks里包括5行。

热点排行