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中线程编程之threading模块的使用详解
Jun 23 Python
Python基于贪心算法解决背包问题示例
Nov 27 Python
python实现决策树ID3算法的示例代码
May 30 Python
Python使用装饰器模拟用户登陆验证功能示例
Aug 24 Python
使用 Python 实现微信群友统计器的思路详解
Sep 26 Python
python pytest进阶之xunit fixture详解
Jun 27 Python
解决python 3 urllib 没有 urlencode 属性的问题
Aug 22 Python
浅谈python3 构造函数和析构函数
Mar 12 Python
python matplotlib imshow热图坐标替换/映射实例
Mar 14 Python
使用Pycharm分段执行代码
Apr 15 Python
python通过cython加密代码
Dec 11 Python
Python3接口性能测试实例代码
Jun 20 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生成略缩图代码
2012/07/16 PHP
Ajax PHP JavaScript MySQL实现简易无刷新在线聊天室
2016/08/17 PHP
使用jquery实现简单的ajax
2013/07/08 Javascript
jquery提取元素里的纯文本不包含span等里的内容
2013/09/30 Javascript
js将控件隐藏及display属性的使用介绍
2013/12/30 Javascript
node.js中的fs.writeFile方法使用说明
2014/12/14 Javascript
JavaScript中逗号运算符介绍及使用示例
2015/03/13 Javascript
JavaScript中的toLocaleLowerCase()方法使用详解
2015/06/06 Javascript
JQuery工具函数汇总
2015/06/15 Javascript
JavaScript实现将文本框的值插入指定位置的方法
2015/08/13 Javascript
JS实现仿新浪黄色经典滑动门效果代码
2015/09/27 Javascript
Javascript BOM学习小结(六)
2015/11/26 Javascript
项目实践一图片上传之form表单还是base64前端图片压缩(前端图片压缩)
2016/07/28 Javascript
Angular.js中angular-ui-router的简单实践
2017/07/18 Javascript
解决vue项目报错webpackJsonp is not defined问题
2018/03/14 Javascript
详解Vue单元测试case写法
2018/05/24 Javascript
javascript中call,apply,bind的区别详解
2020/12/11 Javascript
详解实现vue的数据响应式原理
2021/01/20 Vue.js
[58:11]守擂赛第二周擂主赛 DeMonsTer vs Leopard
2020/04/28 DOTA
Python实现过滤单个Android程序日志脚本分享
2015/01/16 Python
基于python的列表list和集合set操作
2019/11/24 Python
设计师家具购买和委托在线市场:Viyet
2016/11/16 全球购物
美国在线乐器和设备商店:Musician’s Friend
2018/07/06 全球购物
美国领先的低折扣旅行网站:Hotwire
2019/01/19 全球购物
Omio英国:搜索并比较便宜的巴士、火车和飞机
2019/08/27 全球购物
如何写出高质量、高性能的MySQL查询
2014/11/17 面试题
商务专员岗位职责
2013/11/23 职场文书
远程教育心得体会
2014/01/03 职场文书
网络维护中文求职信
2014/01/03 职场文书
大学团日活动新闻稿
2014/09/10 职场文书
停车场管理协议书范本
2014/10/08 职场文书
乡镇计划生育工作汇报
2014/10/28 职场文书
单身证明格式样本
2015/06/15 职场文书
六年级作文之家庭作文
2019/12/12 职场文书
SpringBoot+VUE实现数据表格的实战
2021/08/02 Java/Android
go使用Gin框架利用阿里云实现短信验证码功能
2021/08/04 Golang