【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模块读取文件相关推荐

  1. python linecache模块读取文件用法详解

    linecache模块允许从任何文件里得到任何的行,并且使用缓存进行优化,常见的情况是从单个文件读取多行. linecache.getlines(filename) 从名为filename的文件中得到 ...

  2. python读取一行的函数_Python linecache.getline()读取文件中特定一行的脚本

    Python linecache.getline()读取文件中特定一行的脚本 比如: Code highlighting produced by Actipro CodeHighlighter (fr ...

  3. python open方法下file模块_python-linecache模块读取文件用法

    python-linecache模块读取文件用法详解 linecache模块允许从任何文件里得到任何的行,并且使用缓存进行优化,常见的情况是从单个文件读取多行. 1.linecache.getline ...

  4. python xlrd读取excel-使用Python xlrd模块读取Excel格式文件的方法

    这是一篇关于如何使用Python xlrd模块读取Excel格式文件的方法的文章,下面的python代码中使用 了xlrd模块的方法,这样就能够很方便的读取 excel 文件内容.同是这个xlrd模块 ...

  5. Python OS模块和文件处理

    Python OS模块和文件处理 文件处理 1. 打开和关闭文件 2. 读&写 3. 文件定位 OS模块 1. OS模块简介: 2. OS模块常用函数 3. OS模块常用方法实战 4. 例题练 ...

  6. python如何顺序读取文件夹下的图片及文件

    获取文件夹下文件 os.listdir()  :用于返回指定的文件夹包含的文件或文件夹的名字的列表.得到的是仅当前路径下的文件名,不包括子目录中的文件,所有需要使用递归的方法得到全部文件名. 但是返回 ...

  7. Python按行读取文件、写文件

    Python按行读取文件 学习了:https://www.cnblogs.com/scse11061160/p/5605190.html file = open("sample.txt&qu ...

  8. python同时对文件进行读写操作-Python实现的读取文件内容并写入其他文件操作示例...

    本文实例讲述了Python实现的读取文件内容并写入其他文件操作.分享给大家供大家参考,具体如下: 文件目录结构,如图: read_file.py是工作文件,file_test.py是读取文件源,wri ...

  9. python打开文件并读取内容-Python实现的读取文件内容并写入其他文件操作示例

    本文实例讲述了Python实现的读取文件内容并写入其他文件操作.分享给大家供大家参考,具体如下: 文件目录结构,如图: read_file.py是工作文件,file_test.py是读取文件源,wri ...

最新文章

  1. FFmpeg扩展开发
  2. Python学习之路-装饰器生成器正则表达式
  3. StringTokenizer(字符串标记)
  4. tts和字符集的关系--要求源和目的端的数据库字符集必须一样,国家字符集必须一样。...
  5. 白话Elasticsearch43-深入聚合数据分析之案例实战__排序:按每种颜色的平均销售额升序排序
  6. linux java性能监控工具_性能监控工具以及java堆分析OOM
  7. ThreadLocal的重要方法介绍
  8. 不看就亏系列!这里有完整的 Hadoop 集群搭建教程,和最易懂的 Hadoop 概念!| 附代码...
  9. PCA的本质----特征值分解
  10. loj#115. 无源汇有上下界可行流
  11. 使用命令行开始你的netcore之路
  12. JavaScript中的XMLHttpRequest对象
  13. Docker的C/S模式
  14. 关于JavaScript中this的指向,你知晓几分?请速来围观!
  15. @data注解_SpringBoot入门实践(七)-Spring-Data-JPA实现数据访问
  16. docker使用阿里云仓库上传与下拉images
  17. jenkins集成钉钉
  18. 深入理解JavaScript系列(31):设计模式之代理模式
  19. (6)Spring框架----Bean生命周期分析(详细)
  20. 最小角回归算法(LARS)

热门文章

  1. python判断文件夹是否存在
  2. 佛山市禅城区计算机培训机构排名前十,佛山名气大的机器人编程教育品牌排名...
  3. 你算个什么鸟?AI十级“找茬”选手诞生
  4. 谷歌程序员少输一个“”,差点让全球Chrome笔记本变砖
  5. 《海贼王》出品方与小冰合作:首个AI虚拟人上线日本版“微信”
  6. 双方互GAN,不如来试试群体博弈?更快更强更自由 | ICLR 2021
  7. 超过Google,微信AI在NLP领域又获一项世界第一
  8. Spring(十八):Spring AOP(二):通知(前置、后置、返回、异常、环绕)
  9. mesos-dns marathon-lb
  10. coreutils-5.0中几个命令的执行过程