Introduction aux opérations sur les fichiers Python
Python est simple, puissant et l'un des langages de programmation les plus utilisés pour le développement Web. Étant l'un des langages puissants, il offre la possibilité de gérer les fichiers à ses utilisateurs. Il permet de créer, lire, écrire, mettre à jour et supprimer un fichier. Contrairement à d'autres langages de programmation, Python fournit un moyen très simple de gérer les fichiers. Python traite les fichiers binaires et texte différemment. Avant d'effectuer des opérations dans un fichier, nous devons d'abord l'ouvrir, puis le fermer une fois les opérations terminées afin de libérer les ressources liées à celui-ci. Dans cette rubrique, nous allons découvrir les opérations sur les fichiers Python.
Ouverture d'un fichier Python
La toute première opération à travailler sur un fichier est de l'ouvrir. En Python, la fonction open () (fonction intégrée) est utilisée pour ouvrir un fichier en mode lecture et écriture. Cette fonction renvoie un objet fichier. Dans la fonction open (), nous définissons deux arguments dans lesquels le premier est le nom du fichier et le second est le mode dans lequel nous voulons ouvrir ce fichier.
Syntaxe: file = open (“abc.txt”, “r”)
Dans l'exemple ci-dessus, l'utilisateur souhaite ouvrir un fichier nommé «abc.txt» en mode lecture. De même, les utilisateurs peuvent ouvrir un fichier dans différents modes comme «w» pour le mode écriture et «a» pour le mode ajout. En Python, l'utilisateur peut également spécifier le mode binaire ou textuel dans lequel il souhaite ouvrir un fichier. Il n'est pas obligatoire pour un utilisateur de spécifier le mode du fichier si aucun mode n'est spécifié alors par défaut Python ouvrira un fichier en mode de lecture "r".
Syntaxe: file = open (“abc.txt”)
Les deux façons d'ouvrir un fichier ci-dessus effectueront la même action, c'est-à-dire ouvrir un fichier Python en mode lecture. Comprenons différents modes de fichiers en Python:
Mode | Description de la fonction |
"R" | Ouvre un fichier en mode lecture |
"W" | Ouvre un fichier en mode écriture |
"une" | Ouvre un fichier en mode ajout (ajout de texte à la fin du fichier) |
"X" | Crée un fichier spécifié, renvoie une erreur si le fichier existe déjà |
"R +" | Ouvre un fichier en lecture et en écriture |
"B" | Ouvre un fichier en mode binaire (en cas d'images, fichiers .exe) |
"T" | Ouvre un fichier en mode texte |
Exemples
- Mode lecture
file = open (“abc.txt”, 'r') for (x in file):
print x // prints the whole content of each line stored in x one by one
- Mode d'écriture
file = open(“new.txt”, 'w')
file.write (“hello I am learning file operations in Python”) // write the content in file file.close()
- Mode d'ajout
file = open (“test.txt”, 'a')
file.write (“hello this will append content in the file”) // append content at the end of file.close()
Fermer un dossier
Il est recommandé de fermer un fichier une fois les opérations souhaitées effectuées, car cela libérera toutes les ressources qui sont utilisées dans ce fichier et peuvent être allouées ailleurs par le système d'exploitation. Pour fermer un fichier en Python, la méthode close () est utilisée.
Bien qu'il ne soit pas obligatoire de fermer un fichier car Python utilise le garbage collector pour nettoyer les objets non référencés mais c'est une bonne pratique et nous devons le faire.
Syntaxe: file.close ()
Exemple:
file = open (“abc.txt”, ”a”) file.write (“append the text”) file.close()
Il ne prend aucun paramètre comme l'ouverture d'un fichier mais cette méthode n'est pas totalement sûre car en cas d'exceptions elle peut sortir du code sans fermer un fichier. Pour cela, il est préférable d'utiliser la méthode close () dans le bloc finally pour qu'elle s'exécute à chaque fois même en cas d'exceptions.
Exemple utilisant try et enfin
try : file = open
(“abc.txt”, 'w') finally:
file.close()
Lecture d'un fichier
Pour lire un fichier en Python, nous devons d'abord l'ouvrir en mode lecture. Il existe plusieurs méthodes de lecture d'un fichier fournies par Python. Comprenons-les un par un:
- Méthode read (): Cette méthode lit le fichier entier à la fois. Cette méthode renvoie \ n pour la nouvelle ligne. Une fois que le fichier entier est terminé, nous obtenons une chaîne vide entière, nous devons donc redéfinir le curseur à l'aide des méthodes seek () et tell ().
Exemple
Fichier:
This is line 1
This is line 2
file = open (“abc.txt”, 'r') print file.read() // This is line 1
// This is line 2
- Méthode readline (): Cette méthode est utilisée pour lire le fichier une ligne à la fois jusqu'à ce que le caractère \ n soit trouvé dans le fichier. Il ajoute \ n à la fin de la ligne.
Exemple
file = open (“abc.txt”, 'r') print file.readline() // This is line 1
- Méthode readlines (): Cette méthode est utilisée pour lire le fichier entier mais ligne par ligne. Il met à jour le fichier par chaque ligne renvoyée.
Exemple
file = open (“abc.txt”, 'r') print file.readlines() //This is line 1
// This is line 2
- Méthode read (n): Cette méthode est utilisée si nous voulons lire la longueur spécifiée des caractères dans un fichier.
Exemple
File = open (“abc.txt”, 'r') print read(5) // 'This ' (including 1 space after s) (read 5 characters of a file)
Écrire un fichier
Pour écrire un fichier en Python, nous devons d'abord ouvrir le fichier en mode d'écriture «w», ajouter «a» ou création d'exclusion «x».
Il y a une différence mineure entre le mode ajout et le mode écriture en Python et il faut être très prudent à ce sujet que la méthode ajout ajoute le contenu à la fin du fichier, c'est-à-dire qu'elle n'affectera pas les données si le fichier est déjà créé et en a données en elle. Mais la méthode d'écriture écrasera le contenu du fichier si le fichier contenant des données est déjà présent. Cette méthode ne renvoie rien.
Exemple
file = open (“abc.txt”, 'r+') file.write
(“this is line 1\n”) file.write (“this is
line 2\n”) file.close()
Méthode writelines (): la méthode writelines () est également utilisée pour écrire une séquence de chaînes dans un fichier.
Exemple:
file = open (“abc.txt”, 'w')
lines = (“this is line 1”, “this is line 2”) file.writelines(lines)
file.close()
Suppression d'un fichier
Pour supprimer un fichier en Python, la méthode remove () est utilisée. Pour cela, il faut importer le module os dans le programme.
Syntax: os.remove(“filename”)
Exemple
import os; os.remove
(“abc.txt”)
Autre opération de fichier
Il existe diverses autres méthodes utilisées avec les objets fichier pour différentes opérations:
Méthode | Description de la fonction |
affleurer() | Vider le tampon interne. Il n'a pas de valeur de retour |
détacher() | Renvoie le flux brut séparé du tampon |
lisible() | Renvoie vrai si le flux de fichiers peut être lu |
rechercher (décalage, à partir de) | Utilisé pour définir la position actuelle de l'objet fichier pour décaler les octets des octets donnés |
dire() | Renvoie la position actuelle du fichier |
recherchable () | Renvoie vrai si le flux de fichiers permet un accès aléatoire |
accessible en écriture () | Renvoie vrai si le fichier permet d'être écrit dans |
fileno () | Renvoie le numéro de fichier (descripteur de fichier) utilisé par le système d'exploitation pour les opérations d'E / S |
suivant() | Renvoie la ligne suivante du fichier |
tronquer ((taille)) | Tronque le fichier à la taille (facultative) spécifiée. |
Conclusion - Opérations sur les fichiers Python
Travailler sur des fichiers est l'un des concepts importants du développement Web. Différentes méthodes dans le fichier ont des objectifs spécifiques. Avant d'utiliser une méthode, il faut savoir exactement ce qu'il doit réellement effectuer et avoir une bonne connaissance approfondie de toutes les méthodes de fichiers. Comme pour la lecture d'un fichier, il existe différentes méthodes disponibles en Python utilisées dans différents scénarios. Ainsi, seules les connaissances approfondies permettent de choisir la bonne méthode dans le bon scénario.
Articles recommandés
Ceci est un guide des opérations sur les fichiers Python. Ici, nous expliquons comment effectuer une opération dans le fichier python, puis fermer une fois les opérations terminées. Vous pouvez également consulter l'article suivant pour en savoir plus -
- Patterns en Python
- Constructeur en Python
- Ensembles Python
- Opérateurs booléens en Python
- Collections de Python