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

linecache.md

42 строк · 3.1 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/3.0/library/linecache.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# `linecache` – произвольный доступ к строкам текста89Модуль `linecache` позволяет получить любую строку из любого файла, при этом внутренне оптимизируя (с помощью кэша) типичный случай, когда из одного файла читается много строк. Он используется модулем [`traceback`](https://python-all.ru/3.0/library/traceback.html#module-traceback) для получения строк исходного кода и включения их в форматированный отчёт трассировки.1011Модуль `linecache` определяет следующие функции:1213#### `[linecache.getline]linecache.getline(filename, lineno[, module_globals])`1415Возвращает строку *lineno* из файла с именем *filename*. Эта функция никогда не выбрасывает исключения – в случае ошибки она возвращает `''` (для найденных строк включается завершающий символ новой строки).1617Если файл с именем *filename* не найден, функция будет искать его в пути поиска модулей `sys.path`, предварительно проверив наличие [**PEP 302**](https://python-all.ru/3.0/library/linecache.html) `__loader__` в *module\_globals*, на случай, если модуль был импортирован из zip-файла или другого источника, не являющегося файловой системой.1819#### `[linecache.clearcache]linecache.clearcache()`2021Очищает кеш. Используйте эту функцию, если строки из файлов, ранее прочитанные с помощью2223[`getline()`](https://python-all.ru/3.0/library/linecache.html#linecache.getline)2425, больше не нужны.2627#### `[linecache.checkcache]linecache.checkcache([filename])`2829Проверяет кэш на валидность. Используйте эту функцию, если файлы в кэше могли измениться на диске и требуется обновленная версия. Если3031*filename*3233опущен, проверяются все записи в кэше.3435Пример:3637```python38>>> import linecache39>>> linecache.getline('/etc/passwd', 4)40'sys:x:3:3:sys:/dev:/bin/sh\n'41```42