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'