Я в середине очень большого текстового файла (нигде не EOF), открытого вот так:
iFile = open('big.csv', 'rb')
Хорошо, что каждая строка данных имеет одинаковую длину. Таким образом, перемещение ВПЕРЕД по файлу просто кратно длине этой строки в байтах.
Мне не нужно переходить к началу файла, а затем перемещаться по данным туда, где я был, всего на несколько строк выше предыдущей точки обработки.
Я вижу только два варианта:
- используйте вызов iFile.seek(-425 * 8, 1), который, по-видимому, НЕ будет работать в Python 3... (он выдает ошибку io.UnsupportedOperation: can't do nonzero cur-relative seeks error)
OR
- выполнить поиск (0), затем выполнить поиск () в том месте, где я хочу быть.
Есть ли третья альтернатива, которую я не рассматриваю?
Заранее спасибо за любое понимание ... Я в тупике.
'rb'
в вызовеopen
? Потому что эта ошибка должна выдаваться только для файлов, открытых без флагаb
. - person Tim Roberts   schedule 26.04.2021