Python基础学习:linecache模块

                            linecache——对文本行的随机访问

资源代码:Lib/linecache.py

    linecache模块允许它获取Python资源文件的任一行。当系统试图进行内部优化时,就会使用一个高速缓存。在通常情况下,从单一文件中读取多行是普遍存在的。这被traceback模块用于检索格式化回溯的资源行。

    tokenize.open()函数被用于打开文件。该函数使用tokenize.detect_encoding()去获取文件的编码;在编码实施给定缺乏的情况下,默认以UTF-8的格式编码。

    linecache模块定义了以下函数:

linecache. getline(filename, lineno, module_globals=None)

    从文件的命名filename中获取lineno行。该函数不会抛出例外,它只会在出错时返回’ ’(结尾的换行符将会包含在找到的行中)。

    如果一个被命名为filename的文件没有被找到,函数就会在模块的搜索路径、sys.path中搜索它。如果模块是从zipfile或其他非文件系统导入源导入的,首先检查module_globals中的PEP 302_loader_。

 

linecache. clearcache()

    清除高速缓冲。如果你不在需要使用getline()去读取来自于文件的行,使用该函数。

 

linecache. checkcache(filename=None)

    检查高速缓冲的有效性。如果高速缓冲中的文件需要在硬盘上修改或者你请求更新版本,使用该函数即可。如果filename被省略,它会检查高速缓冲的所有入口。

 

linecache. lazycache(filename, module_globals)

    捕获关于非文件依赖的模块的足够细节去允许获取它的行,之后可经由getline()实现,甚至在稍后的调用中module_glovals都可以为None。这种操作可以避免I/O操作的滥用,除非你真的需要该行才会进行,不必无限地携带模块全局。

你可能感兴趣的:(Python常用模块)