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.
bestimmte Zeile löschen
-
- User
- Beiträge: 424
- Registriert: Montag 28. Juli 2003, 16:19
- Wohnort: /dev/reality
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
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
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
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.
mfg
Gerold

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]))
Gerold

http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.