Supprimer la ligne du fichier en Python
- Utiliser le numéro de ligne pour supprimer une ligne spécifique d’un fichier en Python
- Supprimer la première ou la dernière ligne d’un fichier en Python
- Supprimer une ligne qui correspond à un texte particulier donné
- Supprimer une ligne qui correspond à un mot particulier donné
- Supprimer la ligne la plus courte dans le fichier donné en Python
- Supprimer toutes les lignes d’un fichier particulier donné en Python
La gestion des fichiers de données est prise en charge et autorisée par Python et constitue une partie essentielle du langage de programmation Python. Cependant, il n’y a pas de fonctions directes en Python qui peuvent supprimer une ligne spécifique dans un fichier donné.
Ce didacticiel montre les différentes méthodes disponibles pour supprimer une ligne spécifique d’un fichier en Python.
Cette tâche de suppression d’une ligne spécifique peut être mise en œuvre à l’aide de plusieurs approches différentes.
Utiliser le numéro de ligne pour supprimer une ligne spécifique d’un fichier en Python
Méthode 1
Cette méthode, comme spécifié ci-dessus, utilise le numéro de ligne spécifié par l’utilisateur pour supprimer une ligne d’un fichier particulier en Python.
Il utilise la boucle for
, la méthode readlines()
et la méthode enumerate()
.
Prenons un exemple de fichier, nommé test.txt
, dont le contenu est détaillé ci-dessous.
Hello
My name is
Adam
I am
a
good
singer
cricketer dancer
Le code suivant utilise les méthodes enumerate()
et readlines()
pour supprimer une ligne d’un fichier particulier en Python.
l1 = []
with open("temp.txt", "r") as fp:
l1 = fp.readlines()
with open("temp.txt", "w") as fp:
for number, line in enumerate(l1):
if number not in [4, 6]:
fp.write(line)
Le code ci-dessus apporte les modifications suivantes :
Hello
My name is
Adam
I am
good
cricketer dancer
Explication des codes :
- Tout d’abord, le fichier est ouvert en mode
read
. - Le contenu du fichier donné est ensuite lu dans une liste à l’aide de la fonction
readlines()
. - Le dossier est alors fermé.
- Le fichier est alors à nouveau ouvert, mais cette fois en mode
write
. - Ensuite, une boucle
for
et la fonctionenumerate()
sont implémentées dans la liste créée. - La condition
if
est utilisée pour vérifier et sélectionner le numéro de ligne. Le numéro de ligne mentionné est supprimé. - Le dossier est alors fermé.
Méthode 2
La méthode seek()
peut également être utilisée pour implémenter la même tâche de suppression d’une ligne d’un fichier à l’aide d’un numéro de ligne. Nous allons travailler sur le même fichier, test.txt
, comme mentionné dans la méthode ci-dessus.
En utilisant la méthode seek()
, nous n’avons pas besoin d’ouvrir deux fois le même fichier, ce qui le rend plus facile et plus rapide.
Le code suivant utilise la méthode seek()
pour supprimer une ligne d’un fichier particulier en Python.
with open("temp.txt", "r+") as fp:
lines = fp.readlines()
fp.seek(0)
fp.truncate()
for number, line in enumerate(lines):
if number not in [4, 6]:
fp.write(line)
Le code ci-dessus apporte les modifications suivantes :
Hello
My name is
Adam
I am
good
cricketer dancer
Explication des codes :
- Le fichier est ouvert en mode
r+
, qui permet à la fois de lire et d’écrire. - Le contenu du fichier est ensuite lu dans une liste à l’aide de la fonction
readlines()
. - La méthode
seek()
est ensuite utilisée pour ramener le pointeur au point de départ de la liste. - Le fichier est ensuite tronqué à l’aide de la méthode
truncate()
. - Ensuite, une boucle
for
et la fonctionenumerate()
sont implémentées dans la liste créée. - La condition
if
est utilisée pour vérifier et sélectionner le numéro de ligne. Le numéro de ligne mentionné est supprimé. - Le dossier est fermé.
Supprimer la première ou la dernière ligne d’un fichier en Python
Pour implémenter cette méthode, nous utilisons le découpage de liste tout en écrivant le contenu du fichier dans une liste.
Par exemple, nous supprimerons la première ligne du même fichier mentionné ci-dessus (test.txt
).
Le code suivant supprime la première ligne d’un fichier donné en Python.
with open("temp.txt", "r+") as fp:
lines = fp.readlines()
fp.seek(0)
fp.truncate()
fp.writelines(lines[1:])
Le code ci-dessus apporte les modifications suivantes et fournit la sortie suivante :
My name is
Adam
I am
a
good
singer
cricketer dancer
Explication des codes :
- Le fichier est ouvert en mode
r+
, ce qui permet à la fois de lire et d’écrire. - Le contenu du fichier est lu dans une liste à l’aide de la fonction
readlines()
. - La méthode
seek()
est ensuite utilisée pour ramener le pointeur au point de départ de la liste. - Le fichier est ensuite tronqué à l’aide de la méthode
truncate()
. - Toutes les lignes du fichier sont ensuite écrites dans une liste à l’exception de la première ligne. Ceci est rendu possible grâce au découpage de liste.
Supprimer une ligne qui correspond à un texte particulier donné
Cette méthode peut être utilisée lorsqu’il y a plusieurs lignes qui contiennent un texte spécifique. Les lignes qui correspondent au texte donné peuvent alors être supprimées.
Par exemple, nous supprimerons une ligne qui correspond à un texte particulier donné du même fichier (test.txt
) qui est utilisé dans les méthodes ci-dessus.
Cette méthode utilise la fonction strip()
et la fonction write()
pour implémenter la tâche de suppression d’une ligne contenant un texte donné.
Le code suivant supprime une ligne qui correspond à une chaîne particulière donnée en Python.
content = "cricketer dancer"
with open("temp.txt", "w") as fp:
lines = fp.readlines()
for line in lines:
if line.strip("\n") != content:
file.write(line)
Le code ci-dessus apporte les modifications suivantes et fournit la sortie suivante :
Hello
My name is
Adam
I am
a
good
singer
Supprimer une ligne qui correspond à un mot particulier donné
Semblable à la suppression d’une ligne en faisant correspondre la chaîne entière, nous pouvons également essayer de trouver un mot qui pourrait être contenu dans une ligne, puis supprimer cette ligne particulière.
Par exemple, nous supprimerons une ligne qui correspond à un mot particulier du même fichier (test.txt
) qui est utilisé dans les méthodes ci-dessus.
Pour cette méthode, nous utilisons le module os
fourni par Python. Nous créons également un autre nouveau fichier et y écrivons les données pour implémenter cette tâche.
Le code suivant supprime une ligne qui correspond à un mot particulier donné en Python.
import os
with open("temp.txt", "r") as input:
with open("bb.txt", "w") as output:
for line in input:
if "cricketer" not in line.strip("\n"):
output.write(line)
os.replace("bb.txt", "temp.txt")
Le code ci-dessus apporte les modifications suivantes et fournit la sortie suivante :
Hello
My name is
Adam
I am
a
good
singer
Supprimer la ligne la plus courte dans le fichier donné en Python
Comme son nom l’indique, cette méthode trouve et supprime la ligne la plus courte du fichier donné. Ici, nous utiliserons la méthode len()
pour implémenter cette tâche.
Par exemple, nous supprimerons la ligne la plus courte du même fichier (test.txt
) utilisé dans les méthodes ci-dessus.
Le code suivant supprime la ligne la plus courte du fichier donné en Python.
with open("temp.txt", "r") as rf:
lines = rf.readlines()
shortest = 1000
lineToDelete = ""
for line in lines:
if len(line) < shortest:
shortest = len(line)
lineToDelete = line
with open("temp.txt", "w") as write_file:
for line in lines:
if line == lineToDelete:
pass
else:
write_file.write(line)
Supprimer toutes les lignes d’un fichier particulier donné en Python
Pour supprimer toutes les lignes d’un fichier particulier en Python, nous pouvons utiliser la fonction truncate()
. De plus, le pointeur de fichier est alors replacé au début du fichier.
Le code suivant supprime toutes les lignes d’un fichier particulier donné en Python.
with open("temp.txt", "r") as fp:
fp.truncate()
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
LinkedInArticle connexe - Python File
- Comment obtenir tous les fichiers d'un répertoire
- Comment ajouter du texte à un fichier en Python
- Comment vérifier si un fichier existe en Python
- Comment trouver des fichiers avec une certaine extension seulement en Python
- Comment lire des lignes spécifiques d'un fichier en Python
- Lire un fichier texte et imprimer son contenu en Python