10.9. linecache — 随机访问文本行 — Python 文档
来自菜鸟教程
Python/docs/2.7/library/linecache
10.9. 线缓存 — 随机访问文本行
源代码: :source:`Lib/linecache.py`
linecache 模块允许从任何文件中获取任何行,同时尝试使用缓存进行内部优化,这是从单个文件读取多行的常见情况。 traceback 模块使用它来检索源行以包含在格式化的回溯中。
linecache 模块定义了以下函数:
- linecache.getline(filename, lineno[, module_globals])
从名为 filename 的文件中获取行 lineno。 这个函数永远不会引发异常——它会在出现错误时返回
(找到的行将包含终止换行符)。
如果未找到名为 filename 的文件,该函数将在首先检查 PEP 302 后,在模块搜索路径
sys.path
中查找它__loader__
在 module_globals 中,以防模块从 zipfile 或其他非文件系统导入源导入。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'