10.9. "linecache" — Accès direct aux lignes d’un texte
******************************************************

**Code source :** Lib/linecache.py

======================================================================

The "linecache" module allows one to get any line from any file, while
attempting to optimize internally, using a cache, the common case
where many lines are read from a single file.  This is used by the
"traceback" module to retrieve source lines for inclusion in  the
formatted traceback.

Le module "linecache" définit les fonctions suivantes :

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

   Récupère la ligne *lineno* du fichier *filename*.  Cette fonction
   ne lèvera jamais d’exception, elle préfèrera renvoyer "''" en cas
   d’erreur (le caractère de retour à la ligne sera inclus pour les
   lignes existantes).

   Si le fichier *filename* n’est pas trouvé, la fonction le cherchera
   dans les chemins de recherche de modules, "sys.path`, après avoir
   vérifié si un ``__loader__" (de la **PEP 302**) se trouve dans
   *module_globals*, dans le cas où le module a été importé depuis un
   fichier zip, ou une autre source hors du système de fichier.

   Nouveau dans la version 2.5: The *module_globals* parameter was
   added.

linecache.clearcache()

   Nettoie le cache. Utilisez cette fonction si vous n’avez plus
   besoin des lignes des fichiers précédemment lus via "getline()".

linecache.checkcache([filename])

   Vérifie la validité du cache. Utilisez cette fonction si les
   fichiers du cache pourraient avoir changé sur le disque, et que
   vous en voudriez une version à jour. Sans *filename*, toutes les
   entrées du cache seront vérifiées.

Exemple :

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