Seite 1 von 1
Text Dateien aendern
Verfasst: Donnerstag 11. Oktober 2012, 10:46
von mit
Hallo,
ist ist moeglich Python Dateien zu aendern ohne eine neue Datei zu erzeugen (siehe folgendes Beispiel):
Eingabe Datei:
Eingabe Datei nach bearbeiten:
Vielen Dank im Voraus.
Re: Text Dateien aendern
Verfasst: Donnerstag 11. Oktober 2012, 11:35
von sparrow
Womit genau hast du denn Probleme?
Das normale Vorgehen wäre (um unabhängig von der Größe der Datei zu sein), jede Zeile lesen, zu bearbeiten und in eine _andere_ Datei zu schreiben.
Anschließend die Originaldatei löschen und die neue Datei umbenennen.
Auf diese Weise kannst du dir sicher sein, dass die Originaldatei erhalten bleibt, wenn dir irgendwelche Rechte fehlen. Der Speicher läuft auch nicht voll, weil jede Zeile nur so lange im Speicher bleibt, bis sie weggeschrieben ist.
Re: Text Dateien aendern
Verfasst: Donnerstag 11. Oktober 2012, 15:01
von mit
Die Dateien sind sehr gross und ich befuerchte dass ich aus Festplatten speicher laufe und nicht an RAM.
Ist es moeglich die Dateien direkt zu aendern?
Re: Text Dateien aendern
Verfasst: Donnerstag 11. Oktober 2012, 15:10
von EyDu
Wenn du wirklich Bytes mittem in den Daten einfügst, dann bist du in deinen Möglichkeiten sehr eingeschränkt. Wenn du keinen Platz für eine Kopie hast, dann wird es schwierig. Am einfachsten wäre es dann wohl, die Datei zu vergrößern und sich rückwärts durch die Daten arbeiten. Je nach Kenntnis über die Daten musst du entweder eine Vorwärtssimulation machen und genau bestimmen wie groß die Datei wird, oder am Ende noch einmal die ganzen Daten um n Bytes "nach vorne" verschieben.
Re: Text Dateien aendern
Verfasst: Donnerstag 11. Oktober 2012, 15:29
von lunar
@mit Welche Text-Dateien sind denn so groß, dass eine Kopie derselben den verfügbaren Festplattenspeicher(!) überschreiten könnte?!
Re: Text Dateien aendern
Verfasst: Donnerstag 11. Oktober 2012, 18:09
von /me
lunar hat geschrieben:@mit Welche Text-Dateien sind denn so groß, dass eine Kopie derselben den verfügbaren Festplattenspeicher(!) überschreiten könnte?!
Die von den USA angeforderten Fluggastdaten.