Python 使用islice在文本文件中循环
我想使用islice多次读取文本文件的行。目的是每次尝试获取包含列表中索引的行,然后编写仅包含这些行的文件。我尝试了下面的脚本,但我意识到(通过打印行号),尽管有for循环,程序只读取了一次文件。为什么?Python 使用islice在文本文件中循环,python,text,Python,Text,我想使用islice多次读取文本文件的行。目的是每次尝试获取包含列表中索引的行,然后编写仅包含这些行的文件。我尝试了下面的脚本,但我意识到(通过打印行号),尽管有for循环,程序只读取了一次文件。为什么? with open(input,'r') as inp,: sliced_file = islice(inp,None) for ind in listOfInd: print('ind ' + ind) for line_number, line in en
with open(input,'r') as inp,:
sliced_file = islice(inp,None)
for ind in listOfInd:
print('ind ' + ind)
for line_number, line in enumerate(sliced_file,start=1):
print(line_number)
number, rest = line.split('\t',1)
第一次对
切片的\u文件
迭代器对象调用枚举
函数时,将到达文件末尾。因此,下次要再次遍历文件,必须将文件指针重置为文件的开头
此外,在代码段中,流控制移出with块,文件将被关闭,无法读取
这是一个固定的代码
inp = open(input,'r')
sliced_file = islice(inp,None)
for ind in listOfInd:
print('ind ' + ind)
for line_number, line in enumerate(sliced_file,start=1):
print(line_number)
number, rest = line.split('\t',1)
inp.seek(0)