Vous pouvez écrire un gestionnaire de contexte et utiliser l'instruction with. Par exemple, consultez cet article de blog :
http://jessenoller. com/2009/02/03/get-with-the-program-as-contextmanager-completely-different/
De plus, la documentation python contient un exemple qui correspond à peu près à vos besoins. Voir la section 8.1 sur cette page, en particulier l'extrait qui commence :
db_connection = DatabaseConnection()
with db_connection as cursor:
cursor.execute('insert into ...')
cursor.execute('delete from ...')
# ... more operations ...