0Pricing
Python Academy · Leçon

Utiliser l’instruction with pour les fichiers

Assurez la fermeture automatique des fichiers grâce aux gestionnaires de contexte.

Utiliser l’instruction with pour les fichiers est une leçon Python Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Python Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Python Academy comprend 4 leçons au total.

Introduction

L’instruction with garantit que les fichiers sont automatiquement fermés, même lorsqu’une exception se produit.

L’instruction with

with open('file.txt') as f: ... ferme automatiquement f lorsque le bloc se termine, qu’il se termine normalement ou à la suite d’une exception.
# with open('data.txt') as f:
#     content = f.read()
# f is now closed
print('with demo')

Pourquoi with est préférable à try/finally

Sans with, vous devez écrire try: ... finally: f.close() pour garantir la fermeture. with s’en charge automatiquement.
# Equivalent to:
# f = open('file.txt')
# try:
#     content = f.read()
# finally:
#     f.close()
print('comparison demo')

Plusieurs fichiers

with open('a.txt') as a, open('b.txt') as b: ouvre deux fichiers dans une seule instruction.
# with open('in.txt') as src, open('out.txt','w') as dst:
#     for line in src:
#         dst.write(line.upper())
print('multi-file demo')

Protocole du gestionnaire de contexte

with utilise __enter__ et __exit__. open() renvoie un objet fichier qui les implémente. Vous écrirez votre propre gestionnaire plus tard.
# f.__enter__() opens
# f.__exit__() closes
print('protocol demo')

Lecture et traitement

Combinez with, for line in f: et .strip() pour traiter proprement les lignes : supprimer les nouvelles lignes et ignorer les lignes vides.
lines = ['  hello  \n', '  world  \n']
cleaned = [l.strip() for l in lines if l.strip()]
print(cleaned)

Écriture avec with

with open('out.txt','w') as f: f.write('data') — le fichier est vidé de son tampon et fermé lorsque l’exécution quitte le bloc.
# with open('out.txt', 'w') as f:
#     for i in range(10):
#         f.write(f'{i}\n')
print('write with demo')

Vérifier si un fichier existe

import os; os.path.exists('file.txt') renvoie True si le fichier existe. Cela évite FileNotFoundError.
import os
print(os.path.exists('/tmp'))
print(os.path.exists('/nonexistent'))

Erreurs de open()

FileNotFoundError : le fichier n’existe pas. PermissionError : vous ne disposez d’aucun droit de lecture ou d’écriture. Utilisez try/except pour une gestion robuste.
try:
    with open('/nonexistent.txt') as f:
        pass
except FileNotFoundError as e:
    print('File not found:', e)

StringIO pour les fichiers en mémoire

from io import StringIO vous permet d’utiliser une chaîne comme objet fichier — c’est idéal pour tester du code de traitement de fichiers.
from io import StringIO
buf = StringIO('line1\nline2\n')
for line in buf:
    print(line.rstrip())

Module tempfile

tempfile.NamedTemporaryFile() crée un fichier temporaire qui est supprimé à sa fermeture. C’est une solution sûre pour traiter des données transitoires.
import tempfile
with tempfile.NamedTemporaryFile(mode='w', suffix='.txt', delete=True) as f:
    f.write('temp data')
    print(f.name)

Vérification rapide

Que garantit l’instruction with lorsqu’elle est utilisée avec les entrées-sorties de fichiers ?

Récapitulatif

with open(f) as h: ferme automatiquement h. Utilisez plusieurs cibles pour plusieurs fichiers. StringIO permet les tests en mémoire. Gérez FileNotFoundError avec élégance.

Poursuivez

Excellent travail ! Passez à la leçon suivante pour continuer votre progression.

Questions Fréquemment Posées

La leçon « Utiliser l’instruction with pour les fichiers » est-elle gratuite ?

Oui — le texte complet de « Utiliser l’instruction with pour les fichiers » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Python Academy, passe à CoddyKit PRO. Le cours Python Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Utiliser l’instruction with pour les fichiers » ?

Assurez la fermeture automatique des fichiers grâce aux gestionnaires de contexte. Tu pratiques Python Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Python Academy ?

Aucune expérience préalable n'est requise. Python Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Utiliser l’instruction with pour les fichiers » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Python Academy ?

Oui. Chaque leçon Python Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Ouvrir et lire des fichiers
  2. Écrire dans des fichiers et y ajouter du contenu
  3. Utiliser l’instruction with pour les fichiers
  4. Manipuler les chemins de fichiers avec pathlib
← Retour à Python Academy