[EDIT]
Modern ConfigParser поддерживает встроенные комментарии.
settings_cfg = configparser.ConfigParser(inline_comment_prefixes="#")
Однако, если вы хотите тратить объявление функции для поддерживаемых методов, вот мой оригинальный пост:
[ORIGINAL]
Как указано в SpliFF, в документации сказано, что встроенные комментарии - это нет-нет.В качестве значения передается все, что находится справа от первого двоеточия или знака равенства, включая разделители комментариев.
Что отстой.
Итак, давайте исправим это:
def removeInlineComments(cfgparser):
for section in cfgparser.sections():
for item in cfgparser.items(section):
cfgparser.set(section, item[0], item[1].split("#")[0].strip())
Вышеупомянутая функция просматривает каждый элемент в каждом разделе объекта configParser, разбивает строку на любой символ '#', затем отбрасывает любой пробел () от переднего или заднего края оставшегося значения и записывает только значение, без встроенных комментариев.
Вот более питонная, (возможно, менее разборчивая) версия для понимания списков этой функции, которая позволяет вам указать, на какой символ разбивать:
def removeInlineComments(cfgparser, delimiter):
for section in cfgparser.sections():
[cfgparser.set(section, item[0], item[1].split(delimiter)[0].strip()) for item in cfgparser.items(section)]