Thème Jannah La licence n'est pas validée, Rendez-vous sur la page des options du thème pour valider la licence, Vous avez besoin d'une seule licence pour chaque nom de domaine.

Les méthodes les plus simples pour travailler avec des fichiers texte en Python, étape par étape

7 méthodes utiles pour travailler avec un fichier texte en Python

La manipulation de fichiers texte est une tâche essentielle pour les utilisateurs de Python, qu'ils soient débutants ou professionnels. Lire, modifier, traiter et enregistrer des données se fait en quelques lignes seulement grâce aux outils appropriés du langage. La puissance de Python se manifeste clairement dans sa facilité de gestion des fichiers : il offre des fonctions directes pour accéder au texte, l'organiser et le convertir dans un format adapté à tout projet logiciel, quelle que soit son envergure. La maîtrise des fondamentaux permet aux développeurs d'accomplir leurs tâches rapidement et efficacement, notamment lorsqu'ils travaillent avec des enregistrements, des paramètres ou des données provenant de diverses sources.

Illustration d'un ordinateur portable affichant du code Python avec des fenêtres de code flottantes et le logo Python sur un fond bleu à motifs. Les méthodes les plus simples pour travailler avec des fichiers texte en Python, étape par étape.

Vous manipulez quotidiennement de nombreux fichiers ? Petits et grands ? Désorganisés ou non ? Quelle que soit votre tâche, Python simplifie considérablement la gestion des fichiers. Quelques lignes de code suffisent pour gagner un temps précieux et vous détendre. Découvrons ensemble la magie de Python pour la gestion des fichiers.

Table des Matières

Lecture d'un fichier texte

Lorsqu'on travaille avec des enregistrements, des fichiers de configuration, des jeux de données ou tout autre format texte, la première compétence requise est la capacité à lire efficacement un fichier. Python simplifie considérablement ce processus grâce à sa fonction intégrée `open()` et à des techniques de lecture utiles. Bien que `open()` soit la méthode standard, la pratique courante en Python pour manipuler les fichiers consiste à utiliser un gestionnaire de contexte (l'instruction `with`).

with open("server.log", "r") as f:
    content = f.read()
    print(content)
Exemple de lecture du contenu d'un fichier avec du code Python : La méthode la plus simple pour manipuler des fichiers texte avec Python, étape par étape.

C'est l'approche « tout charger ». Elle est idéale pour les fichiers de petite ou moyenne taille. Python charge l'intégralité du fichier en mémoire sous forme d'une seule chaîne de caractères. L'utilisation de `with` garantit que Python ferme le fichier. Python gère l'initialisation et la suppression des ressources du fichier.

Si vous souhaitez lire chaque ligne individuellement, utilisez cette méthode :

with open("users.txt", "r") as f:
    for line in f:
        print(line.strip())

Vous pouvez également tirer parti des fonctions readline() et readlines() en Python.

# Read the first line
with open("data.txt", "r") as f:
    first_line = f.readline()

# Read all lines into a list
with open("data.txt", "r") as f:
    lines = f.readlines()
Utilisation de readline et des fonctions readline en Python pour lire le contenu d'un fichier : La méthode la plus simple pour manipuler des fichiers texte avec Python, étape par étape.

La fonction `readline()` est idéale lorsque vous n'avez besoin que d'un nombre précis de lignes. Elle est particulièrement utile pour accéder à des lignes spécifiques par leur index, par exemple `lines[5]`. La fonction `readlines()` présente chaque ligne sous forme de liste, ce qui facilite l'indexation, la segmentation et les transformations rapides.

Écriture dans des fichiers texte

En fin de compte, tout développeur Python a besoin de réécrire des données dans un fichier. Que ce soit pour créer des rapports, enregistrer des données propres ou consigner les scripts, écrire dans les fichiers. La bonne nouvelle, c'est qu'écrire dans un fichier en Python est aussi simple que de le lire. Pour écrire du contenu dans un fichier :

Lisez aussi:  Apple Pay et Google Pay sont-ils plus sécurisés que les cartes de crédit ?
report = "Daily summary: All systems operational.\n"

with open("summary.txt", "w") as f:
    f.write(report)
Écrire dans un fichier avec la fonction write de Python : La méthode la plus simple pour manipuler des fichiers texte avec Python, étape par étape
Ouvrir un fichier avec l'option « w » le crée s'il n'existe pas, et le remplace complètement s'il existe déjà. Cette méthode est idéale pour générer de nouveaux fichiers de sortie, comme l'exportation d'un jeu de données traité ou la régénération d'un rapport quotidien. Pour ajouter des données à un fichier, utilisez l'option « a ».
log_entry = "User logged in at 14:32\n"

with open("activity.log", "a") as f:
    f.write(log_entry)
Les méthodes les plus simples pour travailler avec des fichiers texte en utilisant Python, étape par étape.
Utilisez cette fonction pour conserver le contenu existant d'un fichier et ajouter des lignes à la fin. La fonction `writelines()` est particulièrement utile pour écrire sur plusieurs lignes.
lines = [
    "apple\n",
    "banana\n",
    "cherry\n"
]

with open("fruits.txt", "w") as f:
    f.writelines(lines)
Écrire plusieurs chaînes de caractères dans un fichier à l'aide de la fonction writelines de Python : La méthode la plus simple pour travailler avec des fichiers texte en Python, étape par étape.
Ceci est utile si vous avez une liste Python contenant des chaînes de caractères. N'oubliez pas que les caractères de nouvelle ligne ne sont pas ajoutés ; vous devez donc les inclure dans la chaîne.

Recherche dans les fichiers texte

Une fois la lecture et l'écriture de fichiers maîtrisées, l'étape suivante consiste à y trouver les informations recherchées. Il peut s'agir de rechercher des messages d'erreur dans des journaux ou d'extraire des lignes correspondant à un motif spécifique. Python offre plusieurs méthodes pour effectuer des recherches dans des fichiers texte. Prenons un exemple simple utilisant des boucles.
target = "ERROR"

with open("server.log", "r") as f:
    for line in f:
        if target in line:
            print("Found error:", line.strip())
Recherche de texte dans un fichier à l'aide d'une boucle for en Python : La méthode la plus simple pour manipuler des fichiers texte avec Python, étape par étape
Cette méthode est très efficace si vous recherchez simplement une sous-chaîne. Pour un filtrage plus avancé, vous pouvez utiliser des expressions régulières afin d'automatiser le processus. Vous pouvez utiliser le module `re` en Python.
import re

pattern = re.compile(r"User\s+\d+\s+logged\s+in")

with open("activity.log", "r") as f:
    for line in f:
        if pattern.search(line):
            print("Match:", line.strip())

Recherche de texte dans un fichier à l'aide d'expressions régulières en Python : La méthode la plus simple pour manipuler des fichiers texte avec Python, étape par étape

Imaginez des situations où vous devez identifier des identifiants, des horodatages, des formats ou tout élément structuré. Dans cet exemple, nous trouvons les lignes où un utilisateur s'est connecté avec un identifiant numérique.

Remplacement de texte dans les fichiers

La recherche est très pratique. Mais tôt ou tard, vous aurez besoin de modifier le contenu d'un fichier. Python simplifie étonnamment le remplacement de texte une fois les principes de base compris. Pour les tâches de recherche et de remplacement simples, vous pouvez utiliser les opérations sur le texte de Python.

old = "ERROR"
new = "INFO"

with open("server.log", "r") as f:
    content = f.read()

updated = content.replace(old, new)

with open("server.log", "w") as f:
    f.write(updated)
Remplacement simple de texte dans un fichier à l'aide des opérations sur les chaînes de caractères en Python : les méthodes les plus simples pour manipuler des fichiers texte avec Python, étape par étape.
Ce modèle est idéal pour remplacer toutes les occurrences d'un mot ou d'une expression. Si cela ne suffit pas, vous pouvez utiliser une expression régulière pour des tâches de remplacement plus complexes. Voici un exemple simple :
import re

pattern = r"\bUser\s+(\d+)\b"
replacement = r"Account \1"

with open("activity.log", "r") as f:
    content = f.read()

updated = re.sub(pattern, replacement, content)

with open("activity.log", "w") as f:
    f.write(updated)
Remplacer du texte dans un fichier à l'aide d'expressions régulières Python : La méthode la plus simple pour manipuler des fichiers texte avec Python, étape par étape
Ici, les expressions régulières vous permettent de remplacer du texte structuré, et non pas seulement une chaîne de caractères.
Comptez les mots, les lignes et les lettres
Supposons que vous ayez un fichier texte et que vous ayez besoin de quelques statistiques de base, comme le nombre de lignes, de mots et d'occurrences de mots. Ces informations peuvent être utiles pour l'analyse de texte, la création de rapports et le traitement de données. Python simplifie cette tâche. Vous pouvez utiliser des boucles pour effectuer ces comptages.

line_count = 0
char_count = 0

avec ouvert(« notes.txt », "R") as f:
pour en ligne in f:
nombre_de_lignes += 1
char_count += len(doubler)

Lisez aussi:  Comment vérifier quels jeux seront joués sur Steam Deck

impression(« Lignes : »(nombre_de_lignes)
impression(« Personnages : », nombre_de_caractères)

Cette boucle simple fonctionne bien même avec des fichiers volumineux. Lisez une ligne à la fois, comptez-la et notez le nombre total de caractères sur sa longueur. Pour compter les mots :

word_count = 0

with open("notes.txt", "r") as f:
    for line in f:
        words = line.split()
        word_count += len(words)

print("Words:", word_count)

La fonction .split() permet de diviser chaque ligne en une liste de mots, ce qui est idéal pour effectuer des mesures simples basées sur les mots.

Pour une analyse lexicale plus poussée, vous pouvez utiliser le module collections , comme ça:

from collections import Counter

counter = Counter()

with open("notes.txt", "r") as f:
    for line in f:
        counter.update(line.split())

print(counter.most_common(5))

Compter les lignes, les caractères et les mots d'un fichier avec Python : La méthode la plus simple pour manipuler des fichiers texte avec Python, étape par étape.

Si vous souhaitez connaître les mots les plus fréquents, l'outil « Compteur » est extrêmement utile. Il compte les éléments pour vous et peut même vous indiquer les mots les plus fréquents (N) grâce à la fonction .most_common().

Fractionner et fusionner des fichiers

Les fichiers texte peuvent devenir volumineux. Imaginez travailler avec des ensembles de données contenant des millions de lignes, ou des exportations massives difficiles à gérer en une seule fois. Il est parfois nécessaire de diviser un fichier en plusieurs parties, et parfois de fusionner plusieurs fichiers en un seul résultat clair et cohérent. Python gère ces deux tâches avec aisance.

Une méthode pour diviser un fichier consiste à extraire un nombre fixe de lignes et à les écrire dans de nouveaux fichiers. Voici comment procéder :

chunk_size = 10
file_number = 1
current_lines = []

with open("bigdata.txt", "r") as f:
    for i, line in enumerate(f, start=1):
        current_lines.append(line)

        if i % chunk_size == 0:
            output_name = f"chunk_{file_number}.txt"
            with open(output_name, "w") as out:
                out.writelines(current_lines)
            current_lines = []
            file_number += 1

# write any remaining lines
if current_lines:
    output_name = f"chunk_{file_number}.txt"
    with open(output_name, "w") as out:
        out.writelines(current_lines)

Pour fusionner plusieurs fichiers en un seul module, le module glob de Python est utile.

import glob

with open("merged_output.txt", "w") as outfile:
    for filename in glob.glob("logs/log*"):
        with open(filename, "r") as infile:
            outfile.write(infile.read())

Ici, glob regroupe tous les fichiers commençant par `log` dans un dossier `logs/`, et vous pouvez simplement ajouter leur contenu dans un seul fichier. C'est idéal pour gérer les fichiers journaux quotidiens, exporter des données partielles ou tout dossier contenant des fichiers liés.

Lisez aussi:  2 façons simples de créer un diagramme de Venn dans Google Docs

Une fois vos outils intégrés, vous pouvez automatiser toutes sortes de tâches répétitives. Par exemple, fusionner les journaux hebdomadaires en un journal mensuel, fractionner les fichiers d'entrée volumineux avant de les intégrer à un script, et bien plus encore.

Gestion des erreurs et opérations sécurisées sur les fichiers
Lorsqu'on travaille avec des fichiers, les choses ne se déroulent pas toujours comme prévu. Les opérations sur les fichiers peuvent échouer pour plusieurs raisons : le fichier peut être inexistant ou votre programme peut ne pas avoir les autorisations nécessaires pour le lire ou l'écrire. Si le script plante en cours d'exécution, vous risquez une corruption des données ou l'absence totale d'écriture dans les fichiers.

Pour des entrées/sorties de fichiers plus sûres, il est recommandé d'utiliser le bloc try/except en Python pour gérer les erreurs Python.

filename = "config.txt"

try:
    with open(filename, "r") as f:
        data = f.read()
        print("File loaded successfully.")
except FileNotFoundError:
    print("File not found:", filename)
except PermissionError:
    print("You don’t have permission to read this file.")
except Exception as e:
    print("Unexpected error:", e)

Fusionner plusieurs fichiers en un seul avec Python : La méthode la plus simple pour manipuler des fichiers texte avec Python, étape par étape

Cela vous permet de détecter d'éventuels problèmes, comme des fichiers manquants ou des problèmes d'autorisation. Un autre problème courant concerne l'encodage. Pensez donc à vérifier ce point si vous n'êtes pas certain du type d'encodage utilisé par un fichier.

try:
    with open("encoding.txt", "r", encoding="utf-8") as f:
        content = f.read()
        print("File loaded successfully.")
except UnicodeDecodeError:
    print("File encoding is not UTF-8. Trying fallback…")
    with open("encoding.txt", "r", encoding="latin-1") as f:
        content = f.read()
        print("Fallback load succeeded:")
        print(content)
Le processus d'encodage empêche les erreurs lors de la lecture de fichiers provenant d'environnements mixtes.
Ce document aborde certaines des tâches de fichiers les plus courantes que vous pouvez effectuer, et même automatiser, avec Python. Si vous souhaitez en savoir plus sur Python et ses différentes fonctionnalités, n'hésitez pas à consulter le module `os` ou à explorer la fonction `open()`.
Détection d'une erreur de décodage Unicode lors de la lecture d'un fichier avec Python : Les méthodes les plus simples pour manipuler des fichiers texte avec Python, étape par étape

La maîtrise de la gestion des fichiers texte offre aux développeurs Python un meilleur contrôle sur la gestion et l'organisation des données au sein de leurs projets. Les outils de base du langage suffisent pour la plupart des opérations sans nécessiter de bibliothèques externes, et avec la pratique, ces tâches deviennent plus rapides et plus faciles. Comprendre ces techniques est une étape importante pour quiconque souhaite développer ses compétences en programmation et être capable de réaliser des projets plus professionnels.

Aller au bouton supérieur