0% ont trouvé ce document utile (0 vote)
0 vues4 pages

File Handling Python Notes

Le document traite du file handling en Python, expliquant comment lire, écrire, modifier et supprimer des fichiers à l'aide de fonctions natives et de modules comme os, csv et json. Il décrit en détail la fonction open(), les modes d'ouverture de fichiers, les méthodes de lecture et d'écriture, ainsi que la gestion des exceptions. Enfin, il présente les modules csv et json pour la manipulation de fichiers CSV et JSON.

Transféré par

rofamercom2004
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
0 vues4 pages

File Handling Python Notes

Le document traite du file handling en Python, expliquant comment lire, écrire, modifier et supprimer des fichiers à l'aide de fonctions natives et de modules comme os, csv et json. Il décrit en détail la fonction open(), les modes d'ouverture de fichiers, les méthodes de lecture et d'écriture, ainsi que la gestion des exceptions. Enfin, il présente les modules csv et json pour la manipulation de fichiers CSV et JSON.

Transféré par

rofamercom2004
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

File Handling en Python

Fiche de révision complète — Python I / IDS


Qu'est-ce que le File Handling ?
Le file handling = manipulation de fichiers sur le disque dur depuis Python.
On peut : lire, écrire, modifier, supprimer des fichiers (.txt, .csv, .json…)
Python fournit des fonctions natives + des modules spécialisés (os, csv, json)

La fonction open( )

open(chemin, mode="r", encoding="utf-8")

chemin : chemin vers le fichier (absolu ou relatif)


mode : comment ouvrir le fichier (voir tableau ci-dessous)
encoding : 'utf-8' recommandé pour gérer les accents (é, à…)

Mode Signification Crée si absent ? Écrase ?

"r" Lecture seule (défaut) Non erreur Non

"w" Écriture (write) Oui Oui

"a" Ajout (append) — à la fin Oui Non

"x" Création exclusive — Erreur si existe

"r+" Lecture + écriture Non erreur Non

"rb" Lecture binaire (images, PDF…) Non erreur Non

LeMode
gestionnaire
"w" ÉCRASE lede contexte
fichier with
existant sans avertissement ! Utiliser "a" pour ajouter.

Sans with (à éviter) Avec with (recommandé)


f = open('[Link]', 'r') with open('[Link]','r') as f:
contenu = [Link]() contenu = [Link]()
# Oubli de [Link]() # Fermeture AUTOMATIQUE
# fuite de ressources ! # même si erreur propre !

— 1 / 4 —
Lecture & Écriture de Fichiers

Méthodes de lecture

read() readline() readlines()


Lit TOUT le fichier Lit UNE ligne Lit TOUTES les lignes
en une seule chaîne à la fois retourne une liste
retourne str retourne str lignes[0] = 1ère ligne

Attention : lourd Inclut \\n en fin Chaque élément


pour grands fichiers de ligne contient \\n

Exemples de lecture
with open("[Link]", "r", encoding="utf-8") as f:
# Méthode 1 : tout lire
tout = [Link]()

# Méthode 2 : itération ligne par ligne (la + efficace)


for ligne in f:
print([Link]()) # strip() supprime \n

# Méthode 3 : liste de toutes les lignes


lignes = [Link]() # ["ligne1\n", "ligne2\n"]

Écriture dans un fichier

Méthode Usage Ajoute \n auto ?

[Link](str) Écrit une chaîne Non à ajouter manuellement

[Link](list) Écrit une liste de chaînes Non chaque élément doit avoir \n

Exemples d'écriture
# Mode "w" crée ou écrase
with open("[Link]", "w", encoding="utf-8") as f:
[Link]("Titre du rapport\n")
[Link]("Date: 10/06/2025\n")

# Mode "a" ajoute sans effacer


with open("[Link]", "a", encoding="utf-8") as f:
[Link]("Nouvelle entrée\n")

# writelines() avec une liste


lignes = ["Alpha\n", "Beta\n", "Gamma\n"]
with open("[Link]", "w") as f:
— 2 / 4 —
[Link](lignes)
Gestion des Exceptions & Module os

Gestion des exceptions (try/except)


Toujours protéger les opérations fichier ! Plusieurs erreurs possibles :

FileNotFoundError Le fichier n'existe pas


PermissionError Accès refusé par l'OS
IsADirectoryError C'est un dossier, pas un fichier
OSError Erreur système générale
UnicodeDecodeError Mauvais encodage (ex: utf-8 vs latin-1)

Pattern complet try/except/else/finally


try:
with open("[Link]", "r", encoding="utf-8") as f:
contenu = [Link]()
print(contenu)

except FileNotFoundError:
print(" Fichier introuvable !")

except PermissionError:
print(" Accès refusé !")

except UnicodeDecodeError:
print(" Problème d'encodage essaie encoding=latin-1")

else:
print(" Lecture réussie !") # exécuté si pas d'erreur

finally:
print("Toujours exécuté, erreur ou non") # nettoyage

Module os — Gestion du système de fichiers

Fonction Description Exemple

[Link](p) Vérifie si le chemin existe exists("[Link]") True

[Link](p) Vérifie si c'est un fichier isfile("[Link]") True

[Link](p) Vérifie si c'est un dossier isdir("/home") True

[Link](p) Taille en octets getsize("[Link]") 1024

[Link](p) Nom du fichier seul "[Link]"

[Link](p) Dossier parent "/home/user/projet"


— 3 / 4 —
[Link](d) Liste le contenu du dossier ["[Link]", "[Link]"]
Fichiers CSV & Fichiers JSON

Module csv
CSV (Comma-Separated Values) = fichier texte tabulaire. Très utilisé en data, Excel…
En France : souvent séparé par ';' à cause des virgules dans les nombres.

Classe/Fonction Rôle

[Link](f) Lit le CSV chaque ligne est une liste

[Link](f) Écrit dans le CSV ligne par ligne

[Link](f) Lit chaque ligne est un dictionnaire {colonne: valeur}

[Link](f, …) Écrit depuis des dictionnaires (avec en-têtes)

CSV — Écriture & Lecture


import csv

# Écrire un CSV
with open("[Link]", "w", newline="", encoding="utf-8") as f:
writer = [Link](f, delimiter=";")
[Link](["Nom", "Age", "Note"]) # en-tête
[Link]([["Alice",20,15], ["Karim",22,18]])

# Lire avec DictReader (recommandé)


with open("[Link]", "r", encoding="utf-8") as f:
reader = [Link](f, delimiter=";")
for ligne in reader:
print(f"{ligne['Nom']} {ligne['Note']}/20")

Module json
JSON = format de données texte universel. Idéal pour configs, APIs, échange de données.

Fonction Sens Description

[Link](obj, f) Python fichier Sérialise et écrit dans un fichier

[Link](f) Fichier Python Lit et désérialise depuis un fichier

[Link](obj) Python str Sérialise en chaîne JSON

[Link](s) str Python Désérialise depuis une chaîne

JSON — Sauvegarde & Chargement


import json

# Objet Python quelconque


— 4 / 4 —
config = {"projet": "Robot", "version": 2.1, "capteurs": ["temp","pression"]}

Vous aimerez peut-être aussi