Я использую приведенный ниже пример от Reading data blocks from a file in Python, но у меня возникают проблемы, он всегда игнорирует первый блок текста из текстового файла.Python: Анализ текстового файла в блоках
Я внес некоторые изменения в сценарий из того, что находится в исходном вопросе SO, и он запускается, но всегда начинается с возвращения второго блока в текстовый файл, за которым следует третий блок, первый блок никогда не возвращается.
Любая помощь очень ценится.
def read_blocks(input_file, i, j):
empty_lines = 0
blocks = []
for line in open(input_file):
# Check for empty/commented lines
if not line or line == '\n':
# If 1st one: new block
if empty_lines == 0:
blocks.append([])
blocks[-1].append(line)
empty_lines += 1
# Non empty line: add line in current(last) block
else:
empty_lines = 0
blocks[-1].append(line)
return blocks[i:j + 1]
for block in read_blocks("C:\\test_file.txt", 1, 1):
print '-> block'
for line in block:
print line
Текстовый файл
Block: 1
Block: 1.2
Block: 1.3
Block: 2
Block: 2.1
Block: 2.2
Block: 2.3
Block: 3
Block: 3.1