Python: Огромное чтение файлов с использованием linecache против обычного доступа к файлам open () - PullRequest
2 голосов
/ 07 мая 2010

Я нахожусь в ситуации, когда несколько потоков читают один и тот же огромный файл с несколькими указателями на один и тот же файл.Файл будет иметь по крайней мере 1 миллион строк.Длина каждой строки варьируется от 500 до 1500 символов.Там не будет «записи» операций над файлом.Каждый поток начнет читать один и тот же файл из разных строк.Какой эффективный способ ..?Использование кэша строки Python или обычного readline (), или есть какой-нибудь другой эффективный способ?

1 Ответ

2 голосов
/ 07 мая 2010

Посмотрите на модуль mmap: http://docs.python.org/library/mmap.html

Это позволит вам использовать файл в качестве массива, тогда как ОС обрабатывает фактическое чтение и буферизацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...