linecache
今天分享一个python的小模块: linecache, 可以用它方便地获取某一文件某一行的内容。而且它也被 traceback 模块用来获取相关源码信息来展示。
用法很简单:
>>> import linecache>>> linecache.getline('/etc/passwd', 4)'sys:x:3:3:sys:/dev:/bin/sh'
登录后复制
linecache.getline 第一参数是文件名,第二个参数是行编号。如果文件名不能直接找到的话,会从 sys.path 里找。
如果请求的行数超过文件行数,函数不会报错,而是返回”空字符串。如果文件不存在,函数也不会报错,也返回”空字符串。
linecache 会尝试用缓存一些信息来优化对文件的读取。它还提供了两个方法来处理缓存相关。
linecache.clearcache() # 清除不再需要的linecache.getcache()获取的内容linecache.checkcache([filename]) # 检查文件在硬盘上是否有更新,如果有更新缓存。 # 如果没有提供文件名参数,则检查linecache缓存里所有的条目
登录后复制
其它
当文件很大而只要读取其中一行时,如果采用linecache成为程序的瓶颈,也可以采用如下方法来获得速度上一些提升:
立即学习“Python免费学习笔记(深入)”;
def get_line(thefilepath, desired_line_number): if desired_line_numberps: 打开文件的方式'rU'是以一种windows,mac,unix三个平台同一的方式打开,都读取成 n
登录后复制
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2282783.html