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中input和raw_input的一点区别
Oct 21 Python
Python中SOAP项目的介绍及其在web开发中的应用
Apr 14 Python
python+matplotlib绘制简单的海豚(顶点和节点的操作)
Jan 02 Python
python实现mysql的读写分离及负载均衡
Feb 04 Python
Python实现全排列的打印
Aug 18 Python
Python 中导入csv数据的三种方法
Nov 01 Python
python opencv读mp4视频的实例
Dec 07 Python
通过Python编写一个简单登录功能过程解析
Sep 04 Python
Python底层封装实现方法详解
Jan 22 Python
python GUI库图形界面开发之PyQt5窗口背景与不规则窗口实例
Feb 25 Python
python 通过 pybind11 使用Eigen加速代码的步骤
Dec 07 Python
python 下载文件的几种方法汇总
Jan 06 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 多进程 解决难题
2009/06/22 PHP
PHP引用符&amp;的用法详细解析
2013/08/22 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(八)
2014/06/23 PHP
PHP切割整数工具类似微信红包金额分配的思路详解
2019/09/18 PHP
JavaScript类和继承 prototype属性
2010/09/03 Javascript
再论Javascript下字符串连接的性能
2011/03/05 Javascript
js 实现浏览历史记录示例
2014/04/20 Javascript
js 获取时间间隔实现代码
2014/05/12 Javascript
Angular中的Promise对象($q介绍)
2015/03/03 Javascript
javascript带回调函数的异步脚本载入方法实例分析
2015/07/02 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记9)
2015/12/24 Javascript
浅析JavaScript中的array数组类型系统
2016/07/18 Javascript
JS实现简单易用的手机端浮动窗口显示效果
2016/09/07 Javascript
jQuery中 bind的用法简单介绍
2017/02/13 Javascript
jQuery实现在HTML文档加载完毕后自动执行某个事件的方法
2017/05/08 jQuery
ES6入门教程之Class和Module详解
2017/05/17 Javascript
基于DOM节点删除之empty和remove的区别(详解)
2017/09/11 Javascript
js实现数组内数据的上移和下移的实例
2017/11/14 Javascript
js监听html页面的上下滚动事件方法
2018/09/11 Javascript
微信小程序自定义单项选择器样式
2019/07/25 Javascript
vue本地打开build后生成的dist文件夹index.html问题
2019/09/04 Javascript
解决Vue的项目使用Element ui 走马灯无法实现的问题
2020/08/03 Javascript
js实现贪吃蛇游戏(简易版)
2020/09/29 Javascript
JS实现手风琴特效
2020/11/08 Javascript
[46:00]Ti4 冒泡赛第二轮LGD vs C9 2
2014/07/14 DOTA
有关wxpython pyqt内存占用问题分析
2014/06/09 Python
Python列表推导式与生成器表达式用法示例
2018/02/08 Python
python实现贪吃蛇游戏
2020/03/21 Python
Python算法中的时间复杂度问题
2019/11/19 Python
解决pip安装的第三方包在PyCharm无法导入的问题
2020/10/15 Python
工程造价自荐信
2013/10/09 职场文书
信息专业个人的自我评价
2013/12/27 职场文书
投标担保书范文
2014/04/02 职场文书
物理分数没达标检讨书
2014/09/13 职场文书
爱国影片观后感
2015/06/18 职场文书
Android学习之BottomSheetDialog组件的使用
2022/06/21 Java/Android