Библиотека журналов позволяет нам определить глобальный регистратор, к которому можно получить доступ из любых импортированных модулей, например:
main_script.py:
import logging
import module.py
if __name__ == "__main__":
logging.config.fileConfig('/path/to/logging.conf')
main(sys.argv[1:])
И затем в module.py :
import logging
logger = logging.getLogger(__name__)
Это здорово, так как это означает, что нет необходимости передавать многословные или отладочные флаги между модулями.
Я бы подумал, что для argparse существует нечто эквивалентное, например синтаксический анализ в основном сценарии или в отдельном модуле, а затем предоставление доступа к ним из любого другого модуля. В конце концов, sys.argv доступен из любого модуля, но кажется нелепым воссоздавать новый анализатор в каждом модуле только для доступа к ним; и альтернативой является передача аргументов в вызовах функций.
Я что-то упускаю здесь очевидное?
Заранее спасибо!