в питоне? чтоб можно было из одного места тянуть. а не хардкодить?
Если нужно для аргументов CLI, то в argparse их можно подавать в файле, а в команде просто написать cmd.py @args.txt
В питоне есть стандартный модуль configpatser. Как вариант ещё, довольно топорный, но в полне рабочий вариант, можно просто *config*.py инициализировать переменные и экспортировать их где надо, можно обернуть это в дата класс. В обоих случаях не нужны лишние зависимости.
лишние зависимости пугают меня меньше чем фраза "обернуть в класс"
обернуть в класс лишь означает, что будет class Foo: @property def bar(self): return parameter, где parameter — это что-то из конфига
я понимаю смысл. просто рабоать с классами пока не умею)
Вот вариант с confog.py и экспортом оттуда мне показался дико неудобным. Хочешь запустить 5 моделей учиться? Страдай
в питоне оно элементарно, чесслово
да не то что б спорю
ну пользоваться классами вы точно умеете, а суть "обертки" заключается в том, что в init(self, [other parameters]) пишете код, который читает конфиг той или иной библиотекой и сохраняете в поля класса. а-ля def __init(self, config_file): # reading from config_file self._param1 = myconfiglib.param1 self._param2 = myconfiglib.param2 и далее доступ к параметрам: @property def param1(self): return self._param1
А yaml никто так и не упомянул, ай-ай-ай
Я упомянул toml, он круче))
The concept of a TOML file is quite similar to YAML/YML files which have the ability to store key-value pairs in a tree-like hierarchy. An advantage of TOML over YAML is its readability which becomes important when there are multiple nested levels.
Не вижу особой разницы, но я ж не программист)
Обсуждают сегодня