Les fichiers
Apprenez à gérer des fichiers texte en lecture et en écriture sur votre ordinateur.
Apprenez à gérer des fichiers texte en lecture et en écriture sur votre ordinateur.
Librairie standard
Fichiers
TOSA
À l'aide de la bibliothèque standard, écrivez une fonction read_object qui lit un objet JSON contenu dans une chaîne de...
Pour lire des fichiers JSON, rien de plus simple, on utilise le module json inclu dans la bibliothèque standard de Python.
import json
Pour lire un fichier JSON, on utilise généralement la méthode load ou loads.
load fonctionne avec des objets de type fichier, tandis que loads fonctionne avec des chaînes de caractères.
with open("fichier.json") as f:
data = json.load(f)
Dans cet exemple, data est maintenant un dictionnaire Python contenant les données du fichier JSON.
Et si on veut écrire un fichier JSON ?
On utilise dump ou dumps pour convertir votre structure de données Python en chaîne JSON puis enregistrer le résultat :
data = {"nom": "Python", "prénom": "Guido"}
with open("fichier.json", "w") as f:
json.dump(data, f)
L'utilisation de fichiers CSV (Comma Separated Values) en Python est courante pour stocker et traiter des données.
La bibliothèque intégrée csv permet de lire et écrire des fichiers CSV.
Pour lire un fichier CSV, utilisez csv.reader.
Ouvrez d'abord le fichier avec open, puis utilisez csv.reader pour lire les données.
import csv
with open("fichier.csv", "r") as fichier:
lecteur_csv = csv.reader(fichier)
for ligne in lecteur_csv:
print(ligne)
Pour écrire des données dans un fichier CSV, utilisez csv.writer.
Ouvrez le fichier avec l'option "w" et utilisez csv.writer pour écrire des données.
import csv
donnees = [["nom", "age"], ["Alice", 30], ["Bob", 25]]
with open("fichier.csv", "w") as fichier:
writer = csv.writer(fichier)
writer.writerows(donnees)
DictReader et DictWriterLa classe csv.DictReader lit les données dans un dictionnaire et la classe csv.DictWriter écrit des données depuis un dictionnaire.
import csv
with open("fichier.csv", "r") as fichier:
lecteur_csv = csv.DictReader(fichier)
for ligne in lecteur_csv:
print(ligne)
import csv
champs = ["nom", "age"]
donnees = [{"nom": "Alice", "age": 30}, {"nom": "Bob", "age": 25}]
with open("fichier.csv", "w") as fichier:
writer = csv.DictWriter(fichier, fieldnames=champs)
writer.writeheader()
writer.writerows(donnees)
Lire et écrire dans un fichier en Python est simple grâce aux fonctions open et close, ainsi qu'aux méthodes read, write et writelines.
Pour lire un fichier, utilisez open avec le mode 'r' (lecture) et read pour lire le contenu.
f = open('fichier.txt', 'r')
contenu = f.read()
print(contenu)
f.close()
On ferme ensuite le fichier avec close.
Une approche plus élégante consiste à utiliser un bloc with qui ferme automatiquement le fichier.
with open('fichier.txt', 'r') as f:
contenu = f.read()
print(contenu)
Pour lire le fichier ligne par ligne, utilisez readlines :
with open('fichier.txt', 'r') as f:
lignes = f.readlines() # Retourne une liste
for ligne in lignes:
print(ligne)
Pour écrire dans un fichier, utilisez open avec le mode 'w' (écriture) et write pour écrire le contenu. Attention, le mode 'w' écrase le contenu existant.
contenu = "Écrire en Python"
with open('fichier.txt', 'w') as f:
f.write(contenu)
Pour ajouter du contenu à un fichier existant, utilisez le mode 'a' (ajout) :
contenu = "\nAjouter une ligne"
with open('fichier.txt', 'a') as f:
f.write(contenu)
N'hésite pas à nous contacter si tu ne trouves pas la réponse à ta question dans la FAQ.