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操作的滥用,除非你真的需要该行才会进行,不必无限地携带模块全局。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值