Seite 1 von 1

bestimmte Zeile löschen

Verfasst: Dienstag 12. April 2005, 17:28
von marco_
Wieder mal eine Frage zu Textdateien.
Ich lese per Zufallsscript eine Zeile in einer Datei aus. Später will ich während einer if-Schleife diese Zeile aus der Datei löschen. Wie soll ich das anstellen, durch das zufällige Auslesen, weiß ich nicht einmal welche Nummer diese Zeile hat.

Es ginge auch, wenn man diese Zeile in eine neue Datei verschieben würde.

Verfasst: Dienstag 12. April 2005, 18:16
von querdenker
mal als antwort ohne Code:

1) quelle öffnen zum lesen
2) Ziel öffnen zum schreiben

aus 1 jeweils eine Teile einlesen
Wenn der Zufall zutrifft, nichts machen
sonst Zeile in Ziel schreiben

mfg, querdenker

Verfasst: Dienstag 12. April 2005, 18:24
von marco_
1)Quelle öffnen
2)Zufällige Zeile lesen
3)Wenn...dann Zeile in Ziel verschieben

Wie aber lautet der Ausdruck für das Verschieben einer Zeile. Ich will die Zeile in der Quelle nicht mehr sehen, dafür aber im Ziel....

Verfasst: Dienstag 12. April 2005, 21:01
von gerold
Hallo marco_!

Du musst die Quelldatei neu schreiben. Man kann nicht so einfach eine Zeile aus einer Datei löschen. Das würde Löcher in der Datei hinterlassen, welche die Datei verstümmeln würde. Um das zu vermeiden, müsste man eine eigene Datei-Schreib-Logik integrieren.

Was den Zufallsgenerator betrifft --> Du musst nicht mit "choice" arbeiten. Du kannst dir auch eine zufällige Ganzzahl zurück liefern lassen. Mit dieser greifst du dann auf die Liste zu und mit dieser weißt du auch, welche Zeile du löschen musst.

Code: Alles auswählen

import random
print random.randint(0, len([1,2,3,4]))
mfg
Gerold
:-)