Un context manager en Python est un objet qui définit les méthodes **enter**() et **exit**(). Cela permet à l’objet d’être utilisé avec la clause “with”, ce qui est souvent utilisé pour les ressources qui doivent être explicitement ouvertes et fermées, comme les fichiers ou les connexions réseau.
Par exemple, vous pouvez ouvrir un fichier et l’utiliser avec le mot-clé “with”. Le fichier sera automatiquement fermé lorsque vous avez terminé.
```
with open(‘file.txt’, ‘r’) as my_file:
data = my_file.read()
```
Dans cet exemple, my_file.**enter**() est appelé au début du bloc with, et my_file.**exit**() est appelé à la fin du bloc with, fermant automatiquement le fichier.
Le context manager s’assure que les méthodes d’ouverture et de fermeture sont bien appelées aux bons moments et permet de gérer les erreurs plus facilement en encapsulant le code dans un bloc où la gestion des ressources est automatiquement effectuée.