Мне нужно иметь дело со многими аргументами/опциями. Я думаю, до 30-40 +.Как бороться со многими аргументами в Python?
Я использую argparse
(Python 3.5), чтобы люди задавали аргументы/параметры из командной строки и в if __name__ == "__main__":
, я передаю все аргументы: MyClass(arg1, arg2, arg3,...)
.
Есть ли лучший способ, более элегантный способ сделать это?
Если у вас есть много вариантов командной строки, рассмотрите возможность использования [docopt] (http://docopt.org/) –
Если ваша функция/класс принимает ключевые слова args, то 'args' from' parse_args' может быть передан как 'MyClass (** vars (args)'. – hpaulj
'ipython' строит свой' argparse' из значений в файлах 'config'. Таким образом, пользователи могут указывать значения в конфигурации по умолчанию, пользовательской конфигурации и командной строке. Но' ipython' длительное время разработки. 'argparse' также имеет простой механизм для чтения строк из файла - см. его документы. – hpaulj