То, что я хотел бы сделать (в идеале), это использовать with
со словарем, чтобы установить целый раздел параметров одновременно.После некоторых экспериментов я придумал следующий код, который вызывает AttributeError
:
import configparser
import os
CONFIG_PATH = os.path.abspath(os.path.dirname(__file__)) + '/config.ini'
config = configparser.ConfigParser()
assert open(CONFIG_PATH)
config.read(CONFIG_PATH)
with dict(config.items('Settings')) as c:
c['username'] = input('Enter username: ')
файл config.ini:
[Settings]
username = ''
Трассировка:
Traceback (most recent call last):
File "test.py", line 9, in <module>
with dict(config.items('Settings')) as c:
AttributeError: __enter__
Мне кажется, что я неправильно использую configparser
, но я хотел бы написать красивый код для установки config.ini
параметров.