Сам парсер всегда удаляет начальные пробелы; насколько я могу судить, не существует (рекомендуемого) способа изменить это.
Обходной путь - использовать символ без пробела, чтобы указать начало вашего отформатированного текста, а затем убрать его после прочтения файла. , Например,
[main]
key_one =| hello
| this
| is
| indented
Затем в вашем скрипте
import configparser
import re
cfg = configparser.ConfigParser()
cfg.read("tmp.ini")
t = cfg["main"]["key_one"]
t = re.sub("^\|", "", t, flags=re.MULTILINE)
print(t)
, который выдает
$ python3 tmp.py
hello
this
is
indented
Значение начинается сразу после =
(я переместил ваш первый выстроиться в линию, предполагая, что вы действительно не хотите, чтобы значение начиналось с символа новой строки). Синтаксический анализатор сохраняет любой непоследующий пробел после |
в качестве первого непробельного символа в каждой строке. re.sub
удалит начальный |
из каждой строки, оставив желаемую многострочную строку с отступом в качестве результата.