Dans ce tutoriel, nous aborderons les différentes opérations de fichiers en Python. Nous verrons comment utiliser Python pour lire un fichier, écrire dans un fichier, supprimer des fichiers, et bien plus encore. Alors, sans plus tarder, commençons.
Travailler avec les fichiers en Python
Dans le tutoriel précédent, nous avons utilisé la console pour prendre une entrée. Maintenant, nous prendrons une entrée en utilisant un fichier. Cela signifie que nous lirons à partir de fichiers et écrirons dedans. Pour ce faire, nous devons suivre certaines étapes. Ce sont
- Ouvrir un fichier
- Prendre une entrée à partir de ce fichier / Écrire une sortie dans ce fichier
- Fermer le fichier
Nous apprendrons également quelques opérations utiles telles que la copie de fichiers et la suppression de fichiers.
Pourquoi les opérations de fichiers en Python sont-elles nécessaires?
Lorsque vous travaillez avec de grands ensembles de données dans des problèmes d’apprentissage automatique, travailler avec des fichiers est une nécessité de base. Comme Python est largement utilisé pour la science des données, vous devez être compétent dans les différentes opérations de fichiers qu’offre Python.
Bien, explorons quelques opérations de fichiers Python ici.
1. Ouvrez un fichier en Python avec la fonction open()
La première étape pour travailler avec des fichiers en Python est d’apprendre à ouvrir un fichier. Vous pouvez ouvrir des fichiers en utilisant la méthode open()
.
La fonction open() en Python accepte deux arguments. Le premier est le nom du fichier avec le chemin complet et le second est le mode d’ouverture du fichier.
En dessous, j’ai répertorié quelques modes de lecture courants pour les fichiers :
- ‘r’ : Ce mode indique que le fichier sera ouvert en lecture seule
- ‘w’ : Ce mode indique que le fichier sera ouvert en écriture seule. S’il n’existe pas de fichier avec ce nom, il en créera un nouveau
- ‘a’ : Ce mode indique que la sortie de ce programme sera ajoutée à la sortie précédente de ce fichier
- ‘r+’ : Ce mode indique que le fichier sera ouvert en lecture et écriture
De plus, pour le système d’exploitation Windows, vous pouvez ajouter ‘b’ pour accéder au fichier en mode binaire. Cela est dû au fait que Windows fait la distinction entre un fichier texte binaire et un fichier texte régulier.
Supposons que nous plaçons un fichier texte nommé ‘file.txt’ dans le même répertoire où se trouve notre code. Maintenant, nous voulons ouvrir ce fichier.
Cependant, la fonction open(filename, mode) renvoie un objet fichier. Avec cet objet fichier, vous pouvez procéder à votre opération suivante.
#directory: /home/imtiaz/code.py
text_file = open('file.txt','r')
#Un autre méthode utilisant l'emplacement complet
text_file2 = open('/home/imtiaz/file.txt','r')
print('First Method')
print(text_file)
print('Second Method')
print(text_file2)
La sortie du code suivant sera
================== RESTART: /home/imtiaz/code.py ==================
First Method
Second Method
>>>
2. Lire et écrire dans des fichiers en Python
Python propose diverses méthodes pour lire et écrire dans des fichiers où chaque fonction se comporte différemment. Une chose importante à noter est le mode des opérations sur le fichier. Pour lire un fichier, vous devez ouvrir le fichier en mode lecture ou écriture. Tandis que pour écrire dans un fichier en Python, vous devez ouvrir le fichier en mode écriture.
Voici quelques-unes des fonctions en Python qui vous permettent de lire et écrire dans des fichiers:
- read() : Cette fonction lit tout le fichier et renvoie une chaîne de caractères
- readline() : Cette fonction lit les lignes de ce fichier et les renvoie sous forme de chaîne de caractères. Elle récupère la ligne n, si elle est appelée pour la nième fois.
- readlines() : Cette fonction renvoie une liste où chaque élément est une ligne unique de ce fichier.
- readlines() : Cette fonction renvoie une liste où chaque élément est une ligne unique de ce fichier.
- write() : Cette fonction écrit une séquence fixe de caractères dans un fichier.
- writelines() : Cette fonction écrit une liste de chaînes de caractères.
- append() : Cette fonction ajoute une chaîne de caractères au fichier au lieu de le remplacer.
Prenons un exemple de fichier « abc.txt » et lisons les lignes individuelles du fichier avec une boucle for:
#ouvrir le fichier
text_file = open('/Users/pankaj/abc.txt','r')
#obtenir la liste des lignes
line_list = text_file.readlines();
#pour chaque ligne de la liste, afficher la ligne
for line in line_list:
print(line)
text_file.close() #n'oubliez pas de fermer le fichier
Sortie:
Maintenant que nous savons comment lire un fichier en Python, avançons et effectuons une opération d’écriture ici avec la fonction writelines().
#ouvrir le fichier
text_file = open('/Users/pankaj/file.txt','w')
#initialiser une liste vide
word_list= []
#itérer 4 fois
for i in range (1, 5):
print("Please enter data: ")
line = input() #prendre une entrée
word_list.append(line) #ajouter à la liste
text_file.writelines(word_list) #écrire 4 mots dans le fichier
text_file.close() #n'oubliez pas de fermer le fichier
Sortie
3. Copier des fichiers en Python à l’aide de la méthode shutil()
Nous pouvons utiliser le module shutil pour copier des fichiers en Python. Cette utilité nous permet d’effectuer des opérations de copie et de déplacement en Python sur différents fichiers. Travaillons sur cela avec un exemple :
import shutil
shutil.copy2('/Users/pankaj/abc.txt', '/Users/pankaj/abc_copy2.txt')
#une autre façon de copier un fichier
shutil.copyfile('/Users/pankaj/abc.txt', '/Users/pankaj/abc_copyfile.txt')
print("File Copy Done")
4. Supprimer des fichiers en Python avec la méthode shutil.os.remove()
Le module shutil de Python offre la méthode remove() pour supprimer des fichiers du système de fichiers. Examinons comment nous pouvons effectuer une opération de suppression en Python.
import shutil
import os
#deux façons de supprimer un fichier
shutil.os.remove('/Users/pankaj/abc_copy2.txt')
os.remove('/Users/pankaj/abc_copy2.txt')
5. Fermer un fichier ouvert en Python avec la méthode close()
Lorsque vous ouvrez un fichier en Python, il est extrêmement important de le fermer après avoir apporté des modifications. Cela permet de sauvegarder les modifications précédemment apportées, de libérer le fichier de la mémoire et d’empêcher toute lecture ou écriture ultérieure dans le programme.
Syntaxe pour fermer un fichier ouvert en Python :
fileobject.close()
Si nous continuons à partir de nos exemples précédents où nous avons lu des fichiers, voici comment vous feriez pour fermer le fichier :
text_file = open('/Users/pankaj/abc.txt','r')
# opérations de fichier ici
text_file.close()
De plus, vous pouvez éviter de fermer les fichiers manuellement si vous utilisez le bloc with. Dès que le bloc with est exécuté, les fichiers sont fermés et ne sont plus disponibles pour la lecture et l’écriture.
6. Python FileNotFoundError
Il est courant de recevoir l’erreur FileNotFoundError lors de travaux avec des fichiers en Python. Elle peut être facilement évitée en fournissant des chemins de fichiers complets lors de la création de l’objet fichier.
File "/Users/pankaj/Desktop/string1.py", line 2, in <module>
text_file = open('/Users/pankaj/Desktop/abc.txt','r')
FileNotFoundError: [Errno 2] No such file or directory: '/Users/pankaj/Desktop/abc.txt'
Pour résoudre l’erreur FileNotFoundError, il vous suffit de vérifier que le chemin que vous avez mentionné pour la méthode d’ouverture du fichier est correct.
Conclusion
Voici les opérations de fichier en Python. Il existe de nombreuses autres façons d’utiliser des fichiers dans Python, notamment la lecture de données CSV, et bien plus encore. Voici un article sur la manière dont vous pouvez utiliser le module Pandas pour lire des ensembles de données CSV en Python.
I hope you enjoyed reading the article! Happy learning 🙂
**Références:
**
**https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files
Source:
https://www.digitalocean.com/community/tutorials/python-read-file-open-write-delete-copy