Podría escribir un administrador de contexto y usar la declaración with. Por ejemplo, vea esta entrada de blog:
http://jessenoller. com/2009/02/03/get-with-the-program-as-contextmanager-completamente-diferente/
Además, la documentación de Python tiene una muestra que se adapta bastante a sus necesidades. Consulte la sección 8.1 de esta página, en particular el fragmento que comienza:
db_connection = DatabaseConnection()
with db_connection as cursor:
cursor.execute('insert into ...')
cursor.execute('delete from ...')
# ... more operations ...