Wie kann man die allerletzte Zeile einer Datei mit Python löschen?Löschen Sie die letzte Zeile in der Datei mit Python
Eingabedatei Beispiel:
hello
world
foo
bar
Ausgabedatei Beispiel:
hello
world
foo
Ich habe den folgenden Code erstellt die Anzahl der Zeilen in der Datei zu finden - aber ich weiß nicht, wie man Löschen Sie die spezifische Zeilennummer. Ich bin neu bei Python - also wenn es einen einfacheren Weg gibt - bitte sag es mir.
try:
file = open("file")
except IOError:
print "Failed to read file."
countLines = len(file.readlines())
EDIT:
ich es heraus eine Vielzahl von Antworten mit: Meistens Erdbeere und etwas, was ich in der Bahn sah (sorry, ich kann den Link nicht finden).
#!/usr/bin/env python
import os, sys
readFile = open("file")
lines = readFile.readlines()
readFile.close()
w = open("file",'w')
w.writelines([item for item in lines[:-1]])
w.close()
Versuchen Sie, um tatsächlich die Zeile aus der Datei zu entfernen, auf der Festplatte? Wenn ja, stellen Sie sicher, dass Sie verstehen, dass Dateien aus der Sicht des Dateisystems keine "Zeilen" haben. Linien sind eine Konvention von Programmierern und Programmen. Was Sie als "Zeile" sehen, ist eine Folge von Bytes irgendwo in der Mitte von vielen anderen Bytes. Um die letzte "Zeile" zu entfernen, könnten Sie die Datei an dem Byte abschneiden, das dem ersten Zeichen in der Zeile entspricht. Das ist nicht schwierig (Sie müssen es nur finden), aber es ist nicht viel Sinn, wenn die beteiligten Dateien nicht viele Megabyte groß sind. –
Was ist, wenn die letzte Zeile eine leere Zeile ist? – FogleBird
Die letzte Zeile ist nicht leer. Ich entferne alle leeren Zeilen mit einem anderen Python-Snippet (von Google). – torger