У меня большой многострочный текст строк значения ключа, разделенных пробелами и разделенных на блоки с использованием символов ====. Для каждого блока я хочу создать словарь с ключом-значением
По сути, я обнаружил, что пишу регулярное выражение гораздо труднее, чем создаю словарь, я использовал этот r'^(\w+)\s*(.*)'
, чтобы получить ключ и значение как бы то ни былопосле пробела, но я не знаю, как разделить текст на блоки с помощью ====. Значения, очевидно, являются поддельными, однако каждое значение может перетекать на новую строку, как вы можете видеть ниже.
См. Текст ниже:
name jcento
server_param uptime=2,load=2, \
mem=1,io=10
info_values cpu=5,io=1,load=0, \
core=8, mem=22724, \
info_value1 10
info_value2 banana
info_value3 NONE
projects proj1 proj2 proj3 \
proj4
info_value5 NONE
info_value6 NONE
info_value7 NONE
info_value8 NONE
info_value9 NONE
================================================================================
name jcento
server_param uptime=2,load=2, \
mem=1,io=10
info_values cpu=5,io=10,load=0, \
core=8, mem=22724, \
info_value1 10
info_value2 banana
info_value3 NONE
projects proj1 proj2 proj3 \
proj4
info_value5 NONE
info_value6 NONE
info_value7 NONE
info_value8 NONE
info_value9 NONE
Я ожидаю, что выводом будет список словарей [{name:'jcento', server_param: 'uptime=2,load=2,mem=1,io=1', ...}, {name:'jcento5',....}]
Также, если возможно, создайте регулярное выражение, которое генерируетСловарь из ключа = значение имени, значение = значение проектов, например:
{jcento: 'proj1 proj2 proj3 proj4', jcento5: 'proj1 proj2 proj3 proj4'}
.
Заранее спасибо!