10.9. linecache — 随机访问文本行

源代码: 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.

The linecache 模块定义了下列函数:

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

Get line lineno from file named filename . This function will never raise an exception — it will return '' on errors (the terminating newline character will be included for lines that are found).

若文件名 filename is not found, the function will look for it in the module search path, sys.path , after first checking for a PEP 302 __loader__ in module_globals , in case the module was imported from a zipfile or other non-filesystem import source.

New in version 2.5: The module_globals 参数被添加。

linecache. clearcache ( )

Clear the cache. Use this function if you no longer need lines from files previously read using getline() .

linecache. checkcache ( [ filename ] )

Check the cache for validity. Use this function if files in the cache may have changed on disk, and you require the updated version. If filename is omitted, it will check all the entries in the cache.

范例:

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

上一话题

10.8. fnmatch — Unix 文件名模式匹配

下一话题

10.10. shutil — 高级文件操作

本页