我有一個這樣的文件:爲什麼takewhile()跳過第一行?
1
2
3
TAB
1
2
3
TAB
我想讀爲塊TAB之間的界線。
import itertools
def block_generator(file):
with open(file) as lines:
for line in lines:
block = list(itertools.takewhile(lambda x: x.rstrip('\n') != '\t',
lines))
yield block
我想用它作爲這樣的:
blocks = block_generator(myfile)
for block in blocks:
do_something(block)
塊我得到的所有都是這樣開始的[2,3] [2,3]
第二行,爲什麼呢?
for循環正在吃每塊的第一行 –