La syntaxe en Python de with
est assez étrange, quel problème essait-il de résoudre?
with
est utilisé lorsqu’on travaille avec des ressources non managées, notamment ouverture d’une fichier. Avant on utilisait try...catch
,
set things up try: do something finally: tear things down
Syntaxe basique de with
with expression [as variable]: with-block
L’expression est évaluée, et retourne un objet qui implémente le context management protocol, c’est à dire qui possède les méthodes __enter__() et __exit__()
with open('text.txt','w') as fichier fichier.write('Hello')
Avec cette syntaxe pas besoin de fermer explicitement le fichier, c’est automatique.