Comment lire un fichier en Python (texte et JSON)

Apprenez à lire des fichiers en Python. Maîtrisez l'instruction with open, readline, readlines et gérez en toute sécurité les exceptions de fichiers.

Essayez cette solution dans l'éditeur

Aperçu

La gestion des fichiers est une compétence essentielle pour tout développeur Python. La lecture de données à partir de fichiers vous permet de traiter des documents texte, des configurations, des journaux, des bases de données et des ensembles de données structurés. Python rend les opérations sur les fichiers remarquablement simples grâce à sa fonction intégrée « open() ».

Lorsque vous travaillez avec des fichiers, la meilleure pratique la plus importante consiste à utiliser l'instruction « with », qui crée un gestionnaire de contexte. Le modèle `with open(...)` garantit que le fichier est fermé en toute sécurité et correctement dès que l'exécution quitte le bloc, même si une exception se produit à l'intérieur. Oublier de fermer des fichiers peut entraîner des fuites de mémoire, une corruption de fichiers et verrouiller les ressources d'autres processus système.

Python propose plusieurs méthodes pour lire les données une fois un fichier ouvert. La méthode `.read()` renvoie l'intégralité du contenu du fichier sous la forme d'une seule chaîne. La méthode `.readline()` lit une seule ligne, ce qui la rend parfaite pour parcourir des fichiers géants qui ne rentreraient pas dans la mémoire. La méthode `.readlines()` lit toutes les lignes et les renvoie sous forme de liste de chaînes. Comprendre quelle méthode utiliser évite l’épuisement de la mémoire et rend vos programmes plus évolutifs.

Sortie de code et d'exécution

Ce script montre la lecture du contenu d'un fichier en toute sécurité à l'aide du gestionnaire de contexte avec une lecture ligne par ligne et une gestion des erreurs.

# Writing a dummy file first
with open("sample.txt", "w") as f:
    f.write("Line 1: Welcome to PyRun!\nLine 2: Python runs in the browser.\nLine 3: Clean and simple.")

# 1. Read entire file contents
with open("sample.txt", "r") as file:
    content = file.read()
    print("--- Entire File ---")
    print(content)

# 2. Read line-by-line (Memory efficient for large files)
print("\n--- Line by Line ---")
with open("sample.txt", "r") as file:
    for line in file:
        print("Read line:", line.strip())
Sortie terminale
--- Entire File ---
Line 1: Welcome to PyRun!
Line 2: Python runs in the browser.
Line 3: Clean and simple.

--- Line by Line ---
Read line: Line 1: Welcome to PyRun!
Read line: Line 2: Python runs in the browser.
Read line: Line 3: Clean and simple.

Mise en œuvre étape par étape

  • Utilisez l'instruction with open("filename", "r") as file pour ouvrir le fichier en toute sécurité en lecture.
  • Appelez file.read() pour charger l’intégralité du contenu du fichier dans une variable.
  • Parcourez directement l'objet fichier à l'aide d'une boucle for pour le lire efficacement ligne par ligne.
  • Spécifiez toujours l'encodage (par exemple, encoding="utf-8") pour la compatibilité internationale des caractères.

Foire aux questions

Pourquoi devrais-je utiliser l’instruction with pour ouvrir des fichiers ?

L'instruction with crée un gestionnaire de contexte qui ferme automatiquement le fichier à la sortie du bloc, même si des erreurs se produisent.

Comment gérer une FileNotFoundError ?

Enveloppez votre instruction open() dans un bloc try-sauf, en attrapant FileNotFoundError: try: with open(...) ... except FileNotFoundError: print("File not found!").

Sujets connexes

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.