Opérations de fichiers Python - lire et écrire des fichiers avec Python
Dans ce tutoriel, nous allons travailler sur les différentes opérations de fichiers en Python. Nous allons voir 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 des fichiers en Python
Dans le tutoriel précédent, nous avons utilisé la console pour prendre des entrées. Maintenant, nous allons prendre des entrées en utilisant un fichier. Cela signifie que nous allons lire à partir de fichiers et écrire dans des fichiers. Pour ce faire, nous devons suivre certaines étapes. Ce sont celles-ci
- Ouvrir un fichier
- Prenez l'entrée de ce fichier/Écrivez la sortie dans ce fichier
- Fermez le fichier
Nous apprendrons également certaines opérations utiles telles que copier un fichier et supprimer un fichier.
Pourquoi les opérations sur les fichiers dans Python sont-elles nécessaires ?
Lorsqu'on travaille avec de grands ensembles de données dans des problèmes d'apprentissage automatique, travailler avec des fichiers est une nécessité de base. Étant donné que Python est un langage largement utilisé pour la science des données, vous devez être compétent dans les différentes opérations sur les fichiers que Python propose.
Alors, explorons certaines des 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.
Ci-dessous, j'ai énuméré quelques-uns des 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 uniquement en écriture. Si le fichier contenant ce nom n'existe pas, un nouveau fichier sera créé.
- ‘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 à la fois pour la lecture et l'écriture.
De plus, pour le système d'exploitation Windows, vous pouvez ajouter 'b' pour accéder au fichier en binaire. Cela est dû au fait que Windows fait la différence entre un fichier texte binaire et un fichier texte classique.
Supposons que nous placions un fichier texte nommé 'file.txt' dans le même répertoire où notre code est situé. Maintenant, nous voulons ouvrir ce fichier.
Cependant, la fonction open(filename, mode) retourne un objet fichier. Avec cet objet fichier, vous pouvez poursuivre vos opérations.
#directory: /home/imtiaz/code.py
text_file = open('file.txt','r')
#Another method using full location
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 offre différentes méthodes pour lire et écrire des fichiers où chaque fonction se comporte différemment. Une chose importante à noter est le mode d'opération du fichier. Pour lire un fichier, vous devez ouvrir le fichier en mode lecture ou écriture. Pour écrire dans un fichier en Python, vous devez que le fichier soit ouvert en mode écriture.
Voici quelques-unes des fonctions en Python qui vous permettent de lire et d'écrire dans des fichiers :
- read() : Cette fonction lit le fichier entier et renvoie une chaîne.
- readline() : Cette fonction lit des lignes à partir de ce fichier et les renvoie sous forme de chaîne. 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.
- ajouter() : Cette fonction ajoute une chaîne au fichier au lieu d'écraser le fichier.
Prenons un fichier exemple "abc.txt", et lisons les lignes individuelles du fichier avec une boucle for :
#open the file
text_file = open('/Users/pankaj/abc.txt','r')
#get the list of line
line_list = text_file.readlines();
#for each line from the list, print the line
for line in line_list:
print(line)
text_file.close() #don't forget to close the file
Sortie :
Maintenant que nous savons comment lire un fichier en Python, passons à l'étape suivante et effectuons une opération d'écriture ici avec la fonction writelines() .
#open the file
text_file = open('/Users/pankaj/file.txt','w')
#initialize an empty list
word_list= []
#iterate 4 times
for i in range (1, 5):
print("Please enter data: ")
line = input() #take input
word_list.append(line) #append to the list
text_file.writelines(word_list) #write 4 words to the file
text_file.close() #don’t forget to close the file
Sortie
3. Copier des fichiers en Python en utilisant la méthode shutil()
Nous pouvons utiliser le module shutil pour copier des fichiers en Python. Cet utilitaire 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')
#another way to copy file
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. Voyons comment nous pouvons effectuer une opération de suppression en Python.
import shutil
import os
#two ways to delete file
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()
Lorsqu'on ouvre un fichier en Python, il est extrêmement important de fermer le fichier après avoir effectué les modifications. Cela enregistre toutes les modifications que vous avez précédemment apportées, enlève le fichier de la mémoire, et empêche toute nouvelle lecture ou écriture dans le programme.
Syntaxe pour fermer un fichier ouvert en Python :
fileobject.close()
Si nous continuons avec nos exemples précédents où nous lisons des fichiers, voici comment vous fermeriez le fichier :
text_file = open('/Users/pankaj/abc.txt','r')
some file operations here
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. Erreur FileNotFound dans Python
Il est courant de recevoir l'erreur FileNotFoundError lors de la manipulation de fichiers en Python. Cela peut être facilement évité 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 corriger l'erreur FileNotFoundError, vous devez simplement vérifier que le chemin que vous avez mentionné pour la méthode d'ouverture de fichier est correct.
Conclusion
Voici les opérations de fichiers sur Python. Il existe de nombreuses autres façons d'utiliser des fichiers dans Python, y compris la lecture de données CSV et plus encore. Voici un article sur la façon dont vous pouvez utiliser le module Pandas pour lire des ensembles de données CSV dans Python.
J'espère que vous avez apprécié lire l'article ! Bon apprentissage :)
**Références :
**https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files



