博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python模块----linecache
阅读量:7298 次
发布时间:2019-06-30

本文共 843 字,大约阅读时间需要 2 分钟。

Python标准库提供了一个有趣的模块:linecache模块。该模块用来从文件中读取任何的行,并且将这些lines使用缓存进行优化,常见的情况是从个大文件中读取指定的行。不过由于此模块使用内存进行缓存文件内容,所以要谨慎使用。在Python中,经常与traceback模块结合使用。

linecache模块提供了几个函数(下面函数参数module_globals只有在2.5版本以后才有):

linecache.getlines(filename[,module_globals])

从名为filename的文件中得到全部内容,输出为列表,文件中的每一行为列表中的一个元素

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

从名为filename的文件中获得指定的行。此函数不会抛出异常,在出错的时候返回一个空字符串‘’。如果filename不存在,先在module_globasl的__loader__中查找,然后会从sys.path中继续查找

linecache.clearcache()

如果不需要此前从getline中缓存的数据,清除缓存。

linecache.checkcache([filename])

检查缓存的有效性。因为缓存所对应的文件可能在磁盘上发生了改变,如果需要新的数据,使用此函数可以得到新的版本。如果省略filename,则会检查缓存中所有条目。

Example:

新建一个文件E:\\test.txt

 

linecache.getline会把换行符也包含进来。

注意:

1)、读取文件之后,不需要使用文件的缓存时,需要在最后清理一下缓存,使linecache.clearcache()清理缓存,释放缓存

2)、此模块使用内存来缓存文件内容,所以需要耗费内存,打开文件的大小和打开速度和你的内存大小有关系

 

转载于:https://www.cnblogs.com/jianmu/p/7372309.html

你可能感兴趣的文章
014_捆绑包与显示模式
查看>>
python : logging模块format类
查看>>
[LeetCode] Two Sum
查看>>
java类中的初始化顺序
查看>>
win10远程桌面连接
查看>>
[转]Web Service与WCF区别
查看>>
vs2010 .net4.0 错误 事件的显式接口实现必须使用事件访问器语法
查看>>
BZOJ1090:[SCOI2003]字符串折叠——题解
查看>>
Python网络爬虫-爬取微博热搜
查看>>
js 与或运算符 || && 妙用
查看>>
react-conponent-secondesElapsed
查看>>
DFS 10.1.5.253 1501
查看>>
vue 项目分享
查看>>
smb
查看>>
3.算法-二叉树遍历
查看>>
File类
查看>>
基于层次关联的鲁棒多目标跟踪
查看>>
Python基础---异常
查看>>
动态调用WebService 通用方法Moss 中 传统开发中都可用。
查看>>
【cocos2d-x 024】 LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
查看>>