Wie kann ich mit Python unter Windows große Textdateien verarbeiten, die EOF / Strg-Z-Zeichen enthalten?

Ich habe eine Reihe von großen, durch Kommas getrennten Textdateien (die größte ist ungefähr 15 GB groß), die ich mit einem Python-Skript verarbeiten muss. Das Problem ist, dass die Dateien sporadisch DOS-EOF-Zeichen (Strg-Z) in der Mitte enthalten. (Fragen Sie mich nicht warum, ich habe sie nicht generiert.) Das andere Problem ist, dass sich die Dateien auf einem Windows-Computer befinden.

Wenn mein Skript unter Windows auf eines dieser Zeichen stößt, wird davon ausgegangen, dass es sich am Ende der Datei befindet, und die Verarbeitung wird beendet. Aus verschiedenen Gründen darf ich die Dateien nicht auf einen anderen Computer kopieren. Aber ich muss sie noch verarbeiten.

Hier sind meine Ideen bis jetzt:

Lesen Sie die Datei im Binärmodus und werfen Sie die gleichen Bytes herauschr(26). Dies würde funktionieren, aber es würde ungefähr ewig dauern.Verwenden Sie so etwas wiesed um die EOF-Zeichen zu entfernen. Leider, soweit ich das beurteilen kann,sed unter Windows hat das gleiche Problem und wird beendet, wenn die EOF angezeigt wird.Verwenden Sie eine Art vonNotepad programmieren und ein Suchen-und-Ersetzen durchführen. Aber es stellt sich heraus, dassNotepad-type Programme kommen mit 15GB-Dateien nicht gut zurecht.

Meine IDEALE Lösung wäre eine Möglichkeit, die Datei nur zu lesenals Text und ignorieren Sie einfach die Strg-Z-Zeichen. Gibt es einen vernünftigen Weg, um dies zu erreichen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage