impando uma conexão interna pysqlite na destruição de objet

Tenho um objeto com uma conexão de banco de dados interna ativa durante toda a vida útil. No final da execução do programa, a conexão deve ser confirmada e fechada. Até agora eu usei um @ explíciclose, mas isso é um pouco complicado, especialmente quando podem ocorrer exceções no código de chamad

Estou pensando em usar o__del__ método de fechamento, mas após algumas leituras online, tenho preocupações. Esse é um padrão de uso válido? Posso ter certeza de que os recursos internos serão liberados em__del__ corretamente?

Esta discussão levantou uma pergunta semelhante, mas não encontrou resposta satisfatória. Eu não quero ter um @ explíciclose e usandowith não é uma opção, porque meu objeto não é usado tão simplesmente como abrir-fechar-fechar, mas é mantido como membro de outro objeto maior, que o utiliza durante a execução em uma GU

@ C ++ possui destruidores perfeitamente funcionais, onde é possível liberar recursos com segurança, então eu imagino que o Python também tenha algo acordado. Por alguma razão, parece não ser o caso, e muitos na comunidade juram contra__del__. Qual é a alternativa então?

questionAnswers(4)

yourAnswerToTheQuestion