关于判断文本块的生成器小函数理解的有关问题
关于判断文本块的生成器小函数理解的问题
是不是我还不了解生成的特点,想了一晚上,还是没有搞懂,求解中....
------解决方案--------------------
拿一个具体的输入文件试一下就知道了。
------解决方案--------------------
如果不清空就重复了,比如读了3行
111
222
333
然后join, 下次又读2行
444
555
如果你不清空,则blocks里包括5行。
- 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行。