Como armazenar as configurações do aplicativo nos módulos [duplicado]

Esta questão já tem uma resposta aqui:

Como salvar as configurações do aplicativo em um arquivo de configuração? 3 respostas

Recebi um projeto do desenvolvedor que saiu da nossa empresa. Não é muito complexo, mas não parece muito legal. Então, aqui está a pergunta: O aplicativo tem alguns módulos e um é "configurações", que armazena alguns aplicativos. opções (nem todas as opções possíveis, digamos apenas dois:foo ebar). Quando o aplicativo é iniciado, ele lê as opções da linha de comando (usando argparse):

parser.add_argument('--foo', action='store_true')
parser.add_argument('--bar', action='store_true')
parser.add_argument('--baz', action='store_true')

E então ele executa essa coisa desagradável:

for name, val in parser.parse_args(sys.argv[1:])._get_kwargs():
    setattr(sys.modules['settings'], name, val)

Primeiro: eu acho que isso é um truque sujo e não-pythônico. E em segundo lugar, é simplesmente inconveniente usar esse código, porque quando eu preciso usarsettings.baz, IDE reclama que não existe. A intenção deste hack é tornar as opções analisadas a partir da linha de comando disponível em todos os módulos que são usados ​​na aplicação.

Estou pensando em algo como singleton pattern, mas eu usei apenas uma vez em PHP, e não sei se esta solução correta em python. E mesmo que seja, alguém pode mostrar exemplo?

Eu sou noob em python e em SO, por favor, seja gentil comigo :) Obrigado.

p.s. Sinto muito por possíveis erros no meu inglês

questionAnswers(2)

yourAnswerToTheQuestion