Получение ошибки кортежа при попытке проанализировать файл конфигурации

Я получил хороший snipet о том, как разобрать файл конфигурации в словаре раньше, но я не могу найти, почему он не может разобрать мой файл конфигурации (так как у меня нет кортежей вне комментариев)

Моя ошибка msg,

Traceback (most recent call last): File "test2.py", line 9, in <module> CONFIG_DATA[section_name][item_name] = cfg.get(section_name, item_name) File "C:\Python27\lib\ConfigParser.py", line 614, in get option = self.optionxform(option) File "C:\Python27\lib\ConfigParser.py", line 374, in optionxform return optionstr.lower() AttributeError: 'tuple' object has no attribute 'lower' 

Код,

 import ConfigParser from pprint import pprint cfg = ConfigParser.ConfigParser() cfg.read('config2.cfg') CONFIG_DATA = {} for section_name in cfg.sections(): CONFIG_DATA[section_name] = {} for item_name in cfg.items(section_name): CONFIG_DATA[section_name][item_name] = cfg.get(section_name, item_name) pprint(CONFIG_DATA) 

Мой конфигурационный файл, http://pastebin.com/UKnrXFGR

One Solution collect form web for “Получение ошибки кортежа при попытке проанализировать файл конфигурации”

ConfigParser.items(section[, raw[, vars]])

Возвращает список пар (name, value) для каждой опции в данном разделе. Необязательные аргументы имеют то же значение, что и для метода get() .

Либо выполните:

 for item_name in cfg.options(section_name): # Note `options` CONFIG_DATA[section_name][item_name] = cfg.get(section_name, item_name) 

или:

 for item_name, item_value in cfg.items(section_name): CONFIG_DATA[section_name][item_name] = item_value 
  • Python: os.path.exists vs os.path.isdir
  • Как получить идентификатор процесса в Unix или Linux с помощью Python?
  • Динамически передавать параметры для работы
  • Ошибка: ошибка сегментации (сброс ядра)
  • о datetime.strptime ()
  • Как прерывать цикл импорта в python
  • Проблема с переменной областью в рекурсивной функции
  • python Как обнаружить новый носитель на компакт-диске?
  • запуск программы командной строки из опции выбора npyscreen
  • Заполнить программу
  • Метод python dunder для `is`
  • Python - лучший язык программирования в мире.