Как может я преобразовывать результат ConfigParser.items ('раздел') к словарю для форматирования строки как здесь:
import ConfigParser
config = ConfigParser.ConfigParser()
config.read('conf.ini')
connection_string = ("dbname='%(dbname)s' user='%(dbuser)s' host='%(host)s' "
"password='%(password)s' port='%(port)s'")
print connection_string % config.items('db')
Вот другой подход с помощью Python 3.7
с configparser
и ast.literal_eval
:
game.ini
[assets]
tileset = {0:(32, 446, 48, 48),
1:(96, 446, 16, 48)}
game.py
import configparser
from ast import literal_eval
config = configparser.ConfigParser()
config.read('game.ini')
# convert a string to dict
tileset = literal_eval(config['assets']['tileset'])
print('tileset:', tileset)
print('type(tileset):', type(tileset))
произвел
tileset: {0: (32, 446, 48, 48), 1: (96, 446, 16, 48)}
type(tileset): <class 'dict'>
Объединяющаяся Michele d'Amico и ответ Kyle (никакой dict), производит менее читаемое, но так или иначе востребованный:
{i: {i[0]: i[1] for i in config.items(i)} for i in config.sections()}