Документация Python неофициальный перевод

linecache – произвольный доступ к строкам текстаlinecache – Random access to text lines

Модуль linecache позволяет получить любую строку из любого файла, при этом внутренне оптимизируя (с помощью кэша) типичный случай, когда из одного файла читается много строк. Он используется модулем traceback для получения строк исходного кода и включения их в форматированный отчёт трассировки.

Модуль linecache определяет следующие функции:

linecache.getline(filename, lineno[, module_globals])

Возвращает строку lineno из файла с именем filename. Эта функция никогда не выбрасывает исключения – в случае ошибки она возвращает '' (для найденных строк включается завершающий символ новой строки).

Если файл с именем filename не найден, функция будет искать его в пути поиска модулей sys.path, предварительно проверив наличие PEP 302 __loader__ в module_globals, на случай, если модуль был импортирован из zip-файла или другого источника, не являющегося файловой системой.

linecache.clearcache()
Очищает кеш. Используйте эту функцию, если строки из файлов, ранее прочитанные с помощью getline(), больше не нужны.
linecache.checkcache([filename])
Проверяет кэш на валидность. Используйте эту функцию, если файлы в кэше могли измениться на диске и требуется обновленная версия. Если filename опущен, проверяются все записи в кэше.

Пример:

>>> import linecache
>>> linecache.getline('/etc/passwd', 4)
'sys:x:3:3:sys:/dev:/bin/sh\n'