Python如何获取文件指定行的内容


Posted in Python onMay 27, 2020

linecache, 可以用它方便地获取某一文件某一行的内容。而且它也被 traceback 模块用来获取相关源码信息来展示。

用法很简单:

>>> import linecache
>>> linecache.getline('/etc/passwd', 4)
'sys:x:3:3:sys:/dev:/bin/sh\n'

linecache.getline 第一参数是文件名,第二个参数是行编号。如果文件名不能直接找到的话,会从 sys.path 里找。

如果请求的行数超过文件行数,函数不会报错,而是返回''空字符串。

如果文件不存在,函数也不会报错,也返回''空字符串。

# Python的标准库linecache模块非常适合这个任务
import linecache
the_line = linecache.getline('d:/FreakOut.cpp', 222)
print (the_line)
# linecache读取并缓存文件中所有的文本,
# 若文件很大,而只读一行,则效率低下。
# 可显示使用循环, 注意enumerate从0开始计数,而line_number从1开始
def getline(the_file_path, line_number):
 if line_number < 1:
  return ''
 for cur_line_number, line in enumerate(open(the_file_path, 'rU')):
  if cur_line_number == line_number-1:
   return line
 return ''

方法扩展:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
# Python的标准库linecache模块非常适合这个任务
import linecache
the_line = linecache.getline('d:/FreakOut.cpp', 222)
print (the_line)
# linecache读取并缓存文件中所有的文本,
# 若文件很大,而只读一行,则效率低下。
# 可显示使用循环, 注意enumerate从0开始计数,而line_number从1开始
def getline(the_file_path, line_number):
 if line_number < 1:
  return ''
 for cur_line_number, line in enumerate(open(the_file_path, 'rU')):
  if cur_line_number == line_number-1:
   return line
 return ''
the_line = linecache.getline('d:/FreakOut.cpp', 222)
print (the_line)

到此这篇关于Python如何获取文件指定行的内容的文章就介绍到这了,更多相关Python获取文件指定行的内容的方法内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python控制台英汉汉英电子词典
Apr 23 Python
Python记录详细调用堆栈日志的方法
May 05 Python
python统计日志ip访问数的方法
Jul 06 Python
简单介绍使用Python解析并修改XML文档的方法
Oct 15 Python
python中实现k-means聚类算法详解
Nov 11 Python
Python使用Matplotlib实现Logos设计代码
Dec 25 Python
python 实现在一张图中绘制一个小的子图方法
Jul 07 Python
Python学习笔记之文件的读写操作实例分析
Aug 07 Python
Python Pillow.Image 图像保存和参数选择方式
Jan 09 Python
利用Tensorflow的队列多线程读取数据方式
Feb 05 Python
matplotlib 多个图像共用一个colorbar的实现示例
Sep 10 Python
python 如何上传包到pypi
Dec 24 Python
Python web如何在IIS发布应用过程解析
May 27 #Python
利用Python实现某OA系统的自动定位功能
May 27 #Python
Python中常见的数制转换有哪些
May 27 #Python
Python如何实现邮件功能
May 27 #Python
Python中内建模块collections如何使用
May 27 #Python
Python OpenCV实现测量图片物体宽度
May 27 #Python
Python中socket网络通信是干嘛的
May 27 #Python
You might like
PHP函数getenv简介和使用实例
2014/05/12 PHP
64位windows系统下安装Memcache缓存
2015/12/06 PHP
PHP在linux上执行外部命令的方法
2017/02/06 PHP
PHP实现数据库的增删查改功能及完整代码
2018/04/18 PHP
如何用javascript控制上传文件的大小
2006/10/26 Javascript
Javascript动态引用CSS文件的2种方法介绍
2014/06/06 Javascript
JS实现关键字搜索时的相关下拉字段效果
2014/08/05 Javascript
jQuery原生的动画效果
2015/07/10 Javascript
jquery div模态窗口的简单实例
2016/05/28 Javascript
js实现PC端根据IP定位当前城市地理位置
2017/02/22 Javascript
JS简单实现滑动加载数据的方法示例
2017/10/18 Javascript
JS实现的JSON序列化操作简单示例
2018/07/02 Javascript
关于uniApp editor微信滑动问题
2021/01/15 Javascript
[01:01:24]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第三局
2016/02/25 DOTA
对pandas处理json数据的方法详解
2019/02/08 Python
Python中的十大图像处理工具(小结)
2019/06/10 Python
Python pandas.DataFrame 找出有空值的行
2019/09/09 Python
TensorFlow梯度求解tf.gradients实例
2020/02/04 Python
Python如何把Spark数据写入ElasticSearch
2020/04/18 Python
浅谈keras使用预训练模型vgg16分类,损失和准确度不变
2020/07/02 Python
PyCharm2020.1.2社区版安装,配置及使用教程详解(Windows)
2020/08/07 Python
python实现数据结构中双向循环链表操作的示例
2020/10/09 Python
CSS3 二级导航菜单的制作的示例
2018/04/02 HTML / CSS
台湾菁英交友:结识黄金单身的台湾人
2018/01/22 全球购物
英国最受欢迎的在线隐形眼镜商店:VisionDirect.co.uk
2018/12/06 全球购物
情侣吵架检讨书
2014/02/05 职场文书
校园安全广播稿
2014/02/08 职场文书
元旦红领巾广播稿
2014/02/19 职场文书
经典广告词大全
2014/03/14 职场文书
小学开学典礼主持词
2014/03/19 职场文书
2015年社区工作总结
2015/04/08 职场文书
工作简报怎么写
2015/07/21 职场文书
当你找不到方向的时候,不妨读读刘备的一生
2019/08/05 职场文书
创业计划书之游泳馆
2019/09/16 职场文书
php 解析非标准json、非规范json
2021/04/01 PHP
Python中for后接else的语法使用
2021/05/18 Python