Я пишу симуляционное программное обеспечение, которое должно поддерживать параметры чтения из файла конфигурации или из командной строки. Очень важно иметь возможность отслеживать конфигурацию симуляции, я записываю файл конфигурации в локальный репозиторий git в начале моделирования.Обновление файла конфигурации, написанного на python
Теперь, если у меня есть параметры в командной строке, у них более высокий приоритет, чем в конфигурационном файле. Но я также хочу их совершить. Думаю, я мог бы сохранить объекты python сконфигурированного моделирования, как раз перед его запуском. Но это было бы более элегантно, если бы я мог просто обновить конфигурационный файл с параметрами командной строки перед его выполнением.
Причина, по которой я пишу конфигурационный файл в python, заключается в том, что я должен определить в нем некоторые объекты python. У меня есть что-то вроде
import SomeSimulationClass
SIMULATOR = SomeSimulationClass
в моем файле конфигурации и SIMULATOR можно легко обменивать. Если я хочу использовать что-то вроде configparser, у меня не могут быть объекты, которые я считаю.
Есть ли простой способ обновления файла конфигурации python? Все имена переменных в нем уже определены, я просто хочу изменить значения. Единственное, что я могу придумать, это проанализировать файл, сравнивая строки между файлом и параметрами командной строки ...
вы знаете, 'configparser' модуль? использовать это. –
В подобной ситуации я определил все поля моих переменных/объектов в файле конфигурации (ini format). Затем я написал функцию для инициализации всех объектов и переменных в зависимости от прочитанного файла конфигурации, давая значения по умолчанию, когда это необходимо. Требовать некоторые мысли об организации конфигурационного файла. –