Jak przetwarzać ogromne pliki tekstowe zawierające znaki EOF / Ctrl-Z za pomocą Pythona w systemie Windows?

Mam wiele dużych plików tekstowych rozdzielanych przecinkami (największy ma około 15 GB), które muszę przetworzyć za pomocą skryptu Pythona. Problem polega na tym, że pliki sporadycznie zawierają znaki DOS EOF (Ctrl-Z) pośrodku. (Nie pytaj mnie dlaczego, nie wygenerowałem ich.) Innym problemem jest to, że pliki znajdują się na komputerze z systemem Windows.

W systemie Windows, gdy mój skrypt napotka jeden z tych znaków, zakłada, że ​​znajduje się na końcu pliku i zatrzymuje przetwarzanie. Z różnych powodów nie mogę kopiować plików na inny komputer. Ale wciąż muszę je przetwarzać.

Oto moje pomysły do ​​tej pory:

Przeczytaj plik w trybie binarnym, wyrzucając równe bajtychr(26). To by działało, ale zajęłoby to mniej więcej zawsze.Użyj czegoś takiegosed wyeliminować znaki EOF. Niestety, o ile wiem,sed w systemie Windows ma ten sam problem i zakończy działanie, gdy zobaczy EOF.Użyj jakiegoś rodzajuNotepad program i wykonaj funkcję znajdź i zamień. Ale okazuje się, żeNotepadprogramy typu nie radzą sobie dobrze z plikami 15 GB.

Moje rozwiązanie IDEAL byłoby sposobem na przeczytanie plikujako tekst i po prostu ignoruj ​​znaki Ctrl-Z. Czy istnieje rozsądny sposób, aby to osiągnąć?

questionAnswers(1)

yourAnswerToTheQuestion