【Python】 linecache模块读取文件
【linecache】
过往在读取文件的时候,我们通常使用的是这种模式:
with open('file.txt','r') as f:line = f.readline()while line:print line # 一些行级别的处理line = f.readline()
这么做的好处在于通过一行一行读取内容,不会一下子把整个文件内容读到内存中去。
在长时间的实践中可以发现,这种读取文件的代码是一种相对比较固定的模式。既然是固定的模式,那么肯定就有轮子了。事实上python自带了一个linecache模块,这个模块可以方便地实现对行的读取,并且是按照上面的那种逐渐缓存式的读取。
■ 基本使用
linecache.getlines(filename) 指向一个文件,获取其所有行。返回的是一个列表,相当于是f.readlines()的返回,列表中每行内容也都是以\n结尾的。
linecache.getlilne(filename,lineno) 指定一行返回。注意这个是LineNo而不是index,也就是说getline(filename,1)返回的是第一行而不是第二行。返回的行包含换行符,另外如果指定行不存在也不会报错而是返回空行。
linecache.updatecache(filename) 当文件内容发生改变时,如果需要获得到最新的文件内容,那么需要调用这个方法。如果不调用,仍然使用在缓存中的老文件内容。类似的操作还可以是linecache.clearcache之后再getlines也行。
linecache.clearcache() 清除当前的所有缓存
linecache.checkcache(filename) 检查缓存的有效性,如果文件已经不存在,或者内容被改变,那么老内容的缓存会被清除。在很多其他类似的场景中这个方法似乎应该是自动被调用的,但是在linecache中这个方法是需要手动调用的。从某种意义上来说,这个方法相当于是updatecache和clearcache的智能结合。
【Python】 linecache模块读取文件相关推荐
- python linecache模块读取文件用法详解
linecache模块允许从任何文件里得到任何的行,并且使用缓存进行优化,常见的情况是从单个文件读取多行. linecache.getlines(filename) 从名为filename的文件中得到 ...
- python读取一行的函数_Python linecache.getline()读取文件中特定一行的脚本
Python linecache.getline()读取文件中特定一行的脚本 比如: Code highlighting produced by Actipro CodeHighlighter (fr ...
- python open方法下file模块_python-linecache模块读取文件用法
python-linecache模块读取文件用法详解 linecache模块允许从任何文件里得到任何的行,并且使用缓存进行优化,常见的情况是从单个文件读取多行. 1.linecache.getline ...
- python xlrd读取excel-使用Python xlrd模块读取Excel格式文件的方法
这是一篇关于如何使用Python xlrd模块读取Excel格式文件的方法的文章,下面的python代码中使用 了xlrd模块的方法,这样就能够很方便的读取 excel 文件内容.同是这个xlrd模块 ...
- Python OS模块和文件处理
Python OS模块和文件处理 文件处理 1. 打开和关闭文件 2. 读&写 3. 文件定位 OS模块 1. OS模块简介: 2. OS模块常用函数 3. OS模块常用方法实战 4. 例题练 ...
- python如何顺序读取文件夹下的图片及文件
获取文件夹下文件 os.listdir() :用于返回指定的文件夹包含的文件或文件夹的名字的列表.得到的是仅当前路径下的文件名,不包括子目录中的文件,所有需要使用递归的方法得到全部文件名. 但是返回 ...
- Python按行读取文件、写文件
Python按行读取文件 学习了:https://www.cnblogs.com/scse11061160/p/5605190.html file = open("sample.txt&qu ...
- python同时对文件进行读写操作-Python实现的读取文件内容并写入其他文件操作示例...
本文实例讲述了Python实现的读取文件内容并写入其他文件操作.分享给大家供大家参考,具体如下: 文件目录结构,如图: read_file.py是工作文件,file_test.py是读取文件源,wri ...
- python打开文件并读取内容-Python实现的读取文件内容并写入其他文件操作示例
本文实例讲述了Python实现的读取文件内容并写入其他文件操作.分享给大家供大家参考,具体如下: 文件目录结构,如图: read_file.py是工作文件,file_test.py是读取文件源,wri ...
最新文章
- FFmpeg扩展开发
- Python学习之路-装饰器生成器正则表达式
- StringTokenizer(字符串标记)
- tts和字符集的关系--要求源和目的端的数据库字符集必须一样,国家字符集必须一样。...
- 白话Elasticsearch43-深入聚合数据分析之案例实战__排序:按每种颜色的平均销售额升序排序
- linux java性能监控工具_性能监控工具以及java堆分析OOM
- ThreadLocal的重要方法介绍
- 不看就亏系列!这里有完整的 Hadoop 集群搭建教程,和最易懂的 Hadoop 概念!| 附代码...
- PCA的本质----特征值分解
- loj#115. 无源汇有上下界可行流
- 使用命令行开始你的netcore之路
- JavaScript中的XMLHttpRequest对象
- Docker的C/S模式
- 关于JavaScript中this的指向,你知晓几分?请速来围观!
- @data注解_SpringBoot入门实践(七)-Spring-Data-JPA实现数据访问
- docker使用阿里云仓库上传与下拉images
- jenkins集成钉钉
- 深入理解JavaScript系列(31):设计模式之代理模式
- (6)Spring框架----Bean生命周期分析(详细)
- 最小角回归算法(LARS)
热门文章
- python判断文件夹是否存在
- 佛山市禅城区计算机培训机构排名前十,佛山名气大的机器人编程教育品牌排名...
- 你算个什么鸟?AI十级“找茬”选手诞生
- 谷歌程序员少输一个“”,差点让全球Chrome笔记本变砖
- 《海贼王》出品方与小冰合作:首个AI虚拟人上线日本版“微信”
- 双方互GAN,不如来试试群体博弈?更快更强更自由 | ICLR 2021
- 超过Google,微信AI在NLP领域又获一项世界第一
- Spring(十八):Spring AOP(二):通知(前置、后置、返回、异常、环绕)
- mesos-dns marathon-lb
- coreutils-5.0中几个命令的执行过程