Zeile aus Datei löschen in Python
- Verwenden der Zeilennummer zum Löschen einer bestimmten Zeile aus einer Datei in Python
- Löschen der ersten oder letzten Zeile aus einer Datei in Python
- Löschen einer Zeile, die mit einem bestimmten Text übereinstimmt
- Löschen einer Zeile, die auf ein bestimmtes Wort zutrifft
- Löschen der kürzesten Zeile in der gegebenen Datei in Python
- Alle Zeilen aus einer bestimmten Datei in Python löschen
Die Handhabung von Datendateien wird von Python unterstützt und zugelassen und bildet einen wesentlichen Bestandteil der Programmiersprache Python. Es gibt jedoch keine direkten Funktionen in Python, die eine bestimmte Zeile in einer bestimmten Datei löschen können.
Dieses Tutorial zeigt die verschiedenen verfügbaren Möglichkeiten zum Löschen einer bestimmten Zeile aus einer Datei in Python.
Diese Aufgabe des Löschens einer bestimmten Zeile kann mit Hilfe verschiedener Ansätze implementiert werden.
Verwenden der Zeilennummer zum Löschen einer bestimmten Zeile aus einer Datei in Python
Methode 1
Diese Methode verwendet, wie oben angegeben, die vom Benutzer angegebene Zeilennummer, um eine Zeile aus einer bestimmten Datei in Python zu löschen.
Es verwendet die for
-Schleife, die readlines()
-Methode und die enumerate()
-Methode.
Nehmen wir eine Beispieldatei mit dem Namen test.txt
, deren Inhalt unten detailliert beschrieben wird.
Hello
My name is
Adam
I am
a
good
singer
cricketer dancer
Der folgende Code verwendet die Methoden enumerate()
und readlines()
, um eine Zeile aus einer bestimmten Datei in Python zu löschen.
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)
Der obige Code nimmt die folgenden Änderungen vor:
Hello
My name is
Adam
I am
good
cricketer dancer
Code-Erklärung:
- Zuerst wird die Datei im Modus
Lesen
geöffnet. - Der Inhalt aus der angegebenen Datei wird dann mit Hilfe der Funktion
readlines()
in eine Liste eingelesen. - Die Datei wird dann geschlossen.
- Anschließend wird die Datei erneut geöffnet, diesmal jedoch im Modus
Schreiben
. - Dann wird eine
for
-Schleife und dieenumerate()
-Funktion auf die erstellte Liste implementiert. - Die
if
-Bedingung wird beim Prüfen und Auswählen der Zeilennummer verwendet. Die genannte Zeilennummer wird gelöscht. - Die Datei wird dann geschlossen.
Methode 2
Die Methode seek()
kann auch verwendet werden, um die gleiche Aufgabe des Löschens einer Zeile aus einer Datei unter Verwendung einer Zeilennummer zu implementieren. Wir werden an derselben Datei, test.txt
, arbeiten, wie in der obigen Methode erwähnt.
Durch die Verwendung der seek()
-Methode müssen wir dieselbe Datei nicht zweimal öffnen, was es einfacher und schneller macht.
Der folgende Code verwendet die Methode seek()
, um eine Zeile aus einer bestimmten Datei in Python zu löschen.
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)
Der obige Code nimmt die folgenden Änderungen vor:
Hello
My name is
Adam
I am
good
cricketer dancer
Code-Erklärung:
- Die Datei wird im
r+
-Modus geöffnet, der sowohlLesen
als auchSchreiben
erlaubt. - Anschliessend wird der Dateiinhalt mit Hilfe der Funktion
readlines()
in eine Liste eingelesen. - Die Methode
seek()
wird dann verwendet, um den Zeiger zurück zum Startpunkt der Liste zu bewegen. - Anschliessend wird die Datei mit Hilfe der Methode
truncate()
gekürzt. - Dann wird eine
for
-Schleife und dieenumerate()
-Funktion auf die erstellte Liste implementiert. - Die
if
-Bedingung wird beim Prüfen und Auswählen der Zeilennummer verwendet. Die genannte Zeilennummer wird gelöscht. - Die Datei wird geschlossen.
Löschen der ersten oder letzten Zeile aus einer Datei in Python
Um diese Methode zu implementieren, verwenden wir List Slicing, während wir den Inhalt der Datei in eine Liste schreiben.
Zum Beispiel löschen wir die erste Zeile aus derselben oben erwähnten Datei (test.txt
).
Der folgende Code löscht die erste Zeile aus einer bestimmten Datei in Python.
with open("temp.txt", "r+") as fp:
lines = fp.readlines()
fp.seek(0)
fp.truncate()
fp.writelines(lines[1:])
Der obige Code nimmt die folgenden Änderungen vor und liefert die folgende Ausgabe:
My name is
Adam
I am
a
good
singer
cricketer dancer
Code-Erklärung:
- Die Datei wird im
r+
-Modus geöffnet, der sowohlLesen
als auchSchreiben
erlaubt. - Der Dateiinhalt wird mit Hilfe der Funktion
readlines()
in eine Liste eingelesen. - Die Methode
seek()
wird dann verwendet, um den Zeiger zurück zum Startpunkt der Liste zu bewegen. - Anschliessend wird die Datei mit Hilfe der Methode
truncate()
gekürzt. - Alle Zeilen aus der Datei werden dann mit Ausnahme der ersten Zeile in eine Liste geschrieben. Möglich wird dies mit Hilfe von List Slicing.
Löschen einer Zeile, die mit einem bestimmten Text übereinstimmt
Diese Methode kann verwendet werden, wenn es mehrere Zeilen gibt, die einen bestimmten Text enthalten. Die Zeilen, die mit dem angegebenen Text übereinstimmen, können dann gelöscht werden.
Beispielsweise löschen wir eine Zeile, die mit einem bestimmten bestimmten Text übereinstimmt, aus derselben Datei (test.txt
), die in den oben genannten Methoden verwendet wird.
Diese Methode verwendet die Funktion strip()
und die Funktion write()
, um die Aufgabe zu implementieren, eine Zeile zu löschen, die einen bestimmten Text enthält.
Der folgende Code löscht eine Zeile, die mit einer bestimmten Zeichenfolge in Python übereinstimmt.
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)
Der obige Code nimmt die folgenden Änderungen vor und liefert die folgende Ausgabe:
Hello
My name is
Adam
I am
a
good
singer
Löschen einer Zeile, die auf ein bestimmtes Wort zutrifft
Ähnlich wie beim Löschen einer Zeile durch Übereinstimmung mit der gesamten Zeichenfolge können wir auch versuchen, ein Wort zu finden, das in einer Zeile enthalten sein könnte, und dann diese bestimmte Zeile löschen.
Beispielsweise löschen wir eine Zeile, die mit einem bestimmten bestimmten Wort übereinstimmt, aus derselben Datei (test.txt
), die in den oben genannten Methoden verwendet wird.
Für diese Methode verwenden wir das von Python bereitgestellte Modul os
. Wir erstellen auch eine weitere neue Datei und schreiben die Daten hinein, um diese Aufgabe zu implementieren.
Der folgende Code löscht eine Zeile, die mit einem bestimmten bestimmten Wort in Python übereinstimmt.
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")
Der obige Code nimmt die folgenden Änderungen vor und liefert die folgende Ausgabe:
Hello
My name is
Adam
I am
a
good
singer
Löschen der kürzesten Zeile in der gegebenen Datei in Python
Wie der Name schon sagt, findet und löscht diese Methode die kürzeste Zeile der angegebenen Datei. Hier verwenden wir die Methode len()
, um diese Aufgabe zu implementieren.
Zum Beispiel löschen wir die kürzeste Zeile aus derselben Datei (test.txt
), die in den obigen Methoden verwendet wird.
Der folgende Code löscht die kürzeste Zeile in der angegebenen Datei in 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)
Alle Zeilen aus einer bestimmten Datei in Python löschen
Um alle Zeilen einer bestimmten Datei in Python zu löschen, können wir die Funktion truncate()
verwenden. Außerdem wird der Dateizeiger dann auf den Beginn der Datei zurückgesetzt.
Der folgende Code löscht alle Zeilen aus einer bestimmten Datei in 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.
LinkedInVerwandter Artikel - Python File
- So erhalten Sie alle Dateien eines Verzeichnisses
- Wie man in Python Text an eine Datei anhängt
- Wie man prüft, ob eine Datei in Python existiert
- Wie man Dateien mit einer bestimmten Endung nur in Python findet
- Wie man bestimmte Zeilen aus einer Datei in Python liest
- Dateiberechtigungen in Python ändern