Hallo!
Wie löse ich es denn am geschicktesten wenn ich nur ein abschließendes "\n" aus einer vorhandenen Datei abschneiden will, so daß die Datei danach mit dem letzten Zeichen aufhört ohne einen Zeilenumbruch?
Muß ich da mit seek,truncate und Konsorten arbeiten oder geht´s auch einfacher?
Gruß Aus Braunschweig
Abschließendes "\n" in einer Datei abschneiden
Wenn die Datei nur Text enthält und nicht allzu groß ist,
einfach in nen String lesen und letztes Zeichen abschneiden.
Etwa so (ungetestet):
Wenn das Resultat wieder in eine Datei soll:
Diese Methode ist aber natürlich weitaus weniger performant, weil die gesamte Datei in den RAM geladen wird, also bei größeren Dateien wie gesagt, würde ich auf jeden Fall truncate & co. benutzen!
einfach in nen String lesen und letztes Zeichen abschneiden.
Etwa so (ungetestet):
Code: Alles auswählen
f = open("datei.txt", "r")
text = f.read()
f.close()
if text.endswith("\n"):
text = text[:-1]
Code: Alles auswählen
f = open("ausgabe.txt", "w")
f.write(text)
f.close()
Zuletzt geändert von henning am Donnerstag 4. August 2005, 20:17, insgesamt 1-mal geändert.
yep, so ähnlich aber irgendwie umständlicher hatte ich mir auch gedacht .... getestet und für funktionierend befunden! DANKE!
----------
ist auf jeden fall die einfachste lösung, wenn auch nicht elegant. und da die in frage kommenden dateien ram-technisch locker zu bewältigen sind, ist die performance auch kein problem.
----------
ist auf jeden fall die einfachste lösung, wenn auch nicht elegant. und da die in frage kommenden dateien ram-technisch locker zu bewältigen sind, ist die performance auch kein problem.