Seite 1 von 1

Zeilenweise aus Datei loeschen

Verfasst: Dienstag 21. Juni 2005, 08:16
von FIAN03
Moin Jungs. Ich muss ein paar Zeilen Code aus einer Txt Datei loeschen, jedoch weis ich den Befehl dazu nicht! Und wie ich Python kenne gibt es da bestimmt eine Methode!

Re: Zeilenweise aus Datei loeschen

Verfasst: Dienstag 21. Juni 2005, 08:27
von joe
Hallo!

2 gängige methoden:

a)
- datei zum lesen öffnen
- alle zeilen in eine liste einlesen
- datei schließen
- datei zum schreiben öffnen
- alle gewünschten zeilen aus der liste in die datei schreiben
- datei schließen

b)
- datei zum lesen öffnen
- tmpdatei zum schreiben öffnen
- zeile für zeile aus datei lesen und
und gleich wieder in tmpdatei speichern, wenn die zeile gewünscht ist
- beiden dateien schließen
- dateien umbenennen

joe

Verfasst: Dienstag 21. Juni 2005, 12:24
von Gast
Danke dir hab mich fuer ersteres entschieden *g* Hat aber prima funktioniert! Schade dass es keine vorgefertigte Methode gab so wird mein Projekt noch groesser! Aber macht ja nix!!

Verfasst: Mittwoch 22. Juni 2005, 01:09
von Joghurt
Methode a) ist im allgemeinen nicht zu empfehlen, da sie sehr speicherintensiv ist.

Verfasst: Mittwoch 22. Juni 2005, 22:28
von BlackJack
Kleine Optimierung von a) wäre für den Fall, das Filtern der Zeilen schon beim Einlesen zu erledigen, so dass im Speicher dann nur noch die erwünschten Zeilen stehen.

Verfasst: Dienstag 12. Juli 2005, 14:02
von maxxle
Joghurt hat geschrieben:Methode a) ist im allgemeinen nicht zu empfehlen, da sie sehr speicherintensiv ist.
Kommt darauf an, wie gross die Datein sind, die bearbeitet werden sollen!
Wenn es sich nur um Dateien mit 20 Zeilen handelt - warum nicht?
Ausserdem wird dabei keine neue Datei angelegt, was z.B. zu Problem mit Rechten führen könnte?!?

Verfasst: Dienstag 12. Juli 2005, 17:16
von Leonidas
Als Zwischendatei könnte man auch os.tmpfile() versuchen. Hat zwar einige Nachteile, aber dafür sollte das mit den Zugriffsrechten dann klappen.