Aller au contenu

Exemples — Fichiers#

Lire et compter les lignes d'un fichier#

with open("data.txt", encoding="utf-8") as f:
    nb_lignes = sum(1 for _ in f)

Lire un fichier CSV en liste de dicts#

import csv

with open("etudiants.csv", newline="", encoding="utf-8") as f:
    etudiants = list(csv.DictReader(f))

for e in etudiants:
    print(e["nom"], e["age"])

Écrire un rapport texte#

resultats = {"Ana": 18, "Bo": 12, "Cy": 15}

with open("rapport.txt", "w", encoding="utf-8") as f:
    for nom, note in sorted(resultats.items(), key=lambda x: -x[1]):
        f.write(f"{nom} : {note}/20\n")

Copier et transformer un fichier ligne à ligne#

with open("entree.txt", encoding="utf-8") as fin, \
     open("sortie.txt", "w", encoding="utf-8") as fout:
    for ligne in fin:
        fout.write(ligne.upper())

Lister récursivement les fichiers d'une extension donnée#

from pathlib import Path

fichiers_py = sorted(Path(".").rglob("*.py"))
for chemin in fichiers_py:
    print(chemin, chemin.stat().st_size, "octets")

Sauvegarder / charger un état en JSON#

import json
from pathlib import Path

def sauvegarder(etat, chemin="etat.json"):
    Path(chemin).write_text(json.dumps(etat, indent=2), encoding="utf-8")

def charger(chemin="etat.json"):
    if not Path(chemin).exists():
        return {}
    return json.loads(Path(chemin).read_text(encoding="utf-8"))