Dans cet article, nous allons explorer le processus de lecture et d'écriture de fichiers en Python. Nous discuterons des différentes méthodes et techniqueset des bonnes pratiques, en fournissant des exemples de code tout au long du processus.
Ouverture de fichiers
La première étape pour travailler avec des fichiers en Python est d'ouvrir le fichier à l'aide de la fonction intégrée open(). La fonction prend deux arguments principaux : le chemin d'accès au fichier et le mode dans lequel le fichier doit être ouvert. Les modes les plus courants sont
- 'r' : Mode lecture (read par défaut)
- 'w' : Mode d'écriture (write)
- 'a' : Mode d'ajout (append)
- 'x' : Mode création exclusive
- 'b' : Mode binaire
Par exemple, pour ouvrir un fichier en mode lecture, vous devez appeler la fonction open() comme suit :
file = open('example.txt', 'r')
Fermer un fichier ouvert
Lorsque vous avez terminé de travailler sur un fichier, il est important de le fermer à l'aide de la méthode close(). Cela permet de s'assurer que toutes les ressources associées au fichier sont libérées et que les modifications sont sauvegardées.
file.close()
Lecture de contenue
Il existe trois méthodes principales pour lire les données d'un fichier :
- read() : Lit l'intégralité du contenu du fichier sous la forme d'une seule chaîne de caractères.
- readline() : Lit une seule ligne du fichier.
- readlines() : Lit toutes les lignes du fichier et les renvoie sous la forme d'une liste de chaînes de caractères.
Voici un exemple d'utilisation de readline() pour lire un fichier ligne par ligne :
file = open('example.txt', 'r')
line = file.readline()
while line:
print(line.strip())
line = file.readline()
file.close()
Écrire dans des fichiers
Pour écrire des données dans un fichier, vous pouvez utiliser les méthodes write() et writelines(). write() écrit une seule chaîne de caractères dans le fichier, tandis que writelines() écrit une liste de chaînes de caractères séparer par des retours a la lines ('\n').
Voici un exemple d'utilisation de write() pour écrire du texte dans un fichier :
file = open('example.txt', 'w')
file.write('Hello, World!')
file.close()
Utilisation des gestionnaires de contexte
Une façon plus pratique pour gérer les opérations sur les fichiers est d'utiliser l'instruction with, qui se charge automatiquement de fermer le fichier après l'exécution du bloc de code. Cela permet d'éviter les problèmes potentiels liés à l'oubli de la fermeture du fichier.
Voici un exemple d'utilisation d'un gestionnaire de contexte pour lire un fichier :
with open('example.txt', 'r') as file:
for line in file:
print(line.strip())
Bonnes pratiques
Lorsque l'on travaille avec des fichiers en Python, il y a des compromis et des bonnes pratiques à prendre en compte :
- Utilisez des gestionnaires de contexte (avec déclaration) pour garantir une gestion correcte des fichiers et éviter les problèmes potentiels liés aux fichiers non fermés.
- Lors de la lecture de fichiers volumineux, il est plus efficace de lire le fichier ligne par ligne ou par morceaux, plutôt que de charger l'intégralité du fichier en mémoire à l'aide de read().
- Lorsque vous écrivez dans un fichier, faites attention au mode que vous utilisez. Si vous utilisez le mode "w", le contenu du fichier existant sera écrasé. Utilisez le mode "a" pour ajouter des données au fichier sans écraser le contenu existant.
En conclusion, Python offre les outils standards pour lire et écrire des fichiers.
Pour allez plus loin, je vous propose de regarder ce qu'est la persitence des données :
- Data Persistence — Python 3.11.3 documentation
- The easy way to work with CSV, JSON, and XML in Python
- Working with Files Asynchronously in Python using aiofiles and ... - Twilio
- Python Data Persistence - JSON Module - TutorialsPoint
- pandas: How to Read and Write Files – Real Python