Интересная/дурацкая задача на питоне

Dec 22, 2019 20:32

Задача: написать этот код идиоматически.

Суть проблемы: формат такой: строка, начинающаяся не с пробела - начало записи. Дальше сколько-то строк, начинающихся с пробелов, относящихся к этой же самой записи.

Т.е.

foo foobar
bar
bar
next foobar
bar
etc

Задача - распарсить на записи, так, чтобы каждая "запись" была массивом "своих" строк (т.е. строка без начального пробела и относящиеся к ней строки с пробелом).

Я написал, но получилось подозрительно близко к C. Красивые варианты приветствуются. (в моём коде 'interface' - это запись).

lines = raw_output.split('\n')
current_interface = []
for line in lines:
if not line.strip():
continue
if not line.startswith(' '):
if current_interface:
yield current_interface
current_interface = []
current_interface.append(line)
if current_interface:
yield current_interface

python

Previous post Next post
Up