10.9. linecache – произвольный доступ к строкам текста¶linecache – Random access to text lines
Исходный код: Lib/linecache.py
Модуль linecache позволяет получить любую строку из любого файла, при этом
внутренне пытаясь оптимизировать (с использованием кеша) типичный случай, когда из одного файла читается много строк. Он используется модулем traceback
для получения строк исходного кода для включения в отформатированную трассировку.
Модуль linecache определяет следующие функции:
-
linecache.getline(filename, lineno[, module_globals])¶ Возвращает строку lineno из файла с именем filename. Эта функция никогда не генерирует исключение – при ошибках она возвращает
''(символ завершающего перевода строки будет включен для найденных строк).Если файл с именем filename не найден, функция ищет его в пути поиска модулей,
sys.path, предварительно проверив PEP 302__loader__в module_globals, на случай, если модуль был импортирован из zip-файла или другого источника, не являющегося файловой системой.Новое в версии 2.5: Был добавлен параметр module_globals.
-
linecache.clearcache()¶ Очищает кэш. Используйте эту функцию, если строки из файлов, ранее прочитанных с помощью
getline(), больше не нужны.
-
linecache.checkcache([filename])¶ Проверяет кэш на валидность. Используйте эту функцию, если файлы в кэше могли измениться на диске и требуется обновленная версия. Если filename опущен, проверяются все записи в кэше.
Пример:
>>> import linecache
>>> linecache.getline('/etc/passwd', 4)
'sys:x:3:3:sys:/dev:/bin/sh\n'