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常用的文件及文件路径、目录操作方法汇总介绍
May 21 Python
各种Python库安装包下载地址与安装过程详细介绍(Windows版)
Nov 02 Python
基于Python闭包及其作用域详解
Aug 28 Python
Django的HttpRequest和HttpResponse对象详解
Jan 26 Python
Python使用pymysql从MySQL数据库中读出数据的方法
Jul 25 Python
Selenium定时刷新网页的实现代码
Oct 31 Python
python的concat等多种用法详解
Nov 28 Python
Python超越函数积分运算以及绘图实现代码
Nov 20 Python
Python3打包exe代码2种方法实例解析
Feb 17 Python
Python面向对象实现方法总结
Aug 12 Python
python 线程的五个状态
Sep 22 Python
Python ellipsis 的用法详解
Nov 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生成带有雪花背景的验证码
2008/09/28 PHP
php获取文件夹路径内的图片以及分页显示示例
2014/03/11 PHP
php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案
2016/05/31 PHP
PHP7标量类型declare用法实例分析
2016/09/26 PHP
Yii框架核心组件类实例详解
2019/08/06 PHP
Jquery 学习笔记(一)
2009/10/13 Javascript
jquery Moblie入门—hello world的示例代码学习
2013/01/08 Javascript
window.location.href中url中数据量太大时的解决方法
2013/12/23 Javascript
jQuery Trim去除字符串首尾空字符的实现方法说明
2014/02/11 Javascript
PHPExcel中的一些常用方法汇总
2015/01/23 Javascript
JS使用post提交的两种方式
2015/12/03 Javascript
jQuery基于$.ajax设置移动端click超时处理方法
2016/05/14 Javascript
关于微信jssdk实现多图片上传的一点心得分享
2016/12/13 Javascript
基于jQuery实现顶部导航栏功能
2016/12/27 Javascript
javascript中BOM基础知识总结
2017/02/14 Javascript
jQuery代码优化方法总结
2018/01/29 jQuery
vue+webpack实现异步组件加载的方法
2018/02/03 Javascript
微信小程序手机号码验证功能的实例代码
2018/08/28 Javascript
Jquery实现获取子元素的方法分析
2019/08/24 jQuery
JS中比Switch...Case更优雅的多条件判断写法
2019/09/05 Javascript
vue-router懒加载的3种方式汇总
2021/02/28 Vue.js
python爬虫入门教程--HTML文本的解析库BeautifulSoup(四)
2017/05/25 Python
PyQt5每天必学之进度条效果
2018/04/19 Python
Django ORM 自定义 char 类型字段解析
2019/08/09 Python
使用tensorboard可视化loss和acc的实例
2020/01/21 Python
谈谈Python:为什么类中的私有属性可以在外部赋值并访问
2020/03/05 Python
python可视化分析的实现(matplotlib、seaborn、ggplot2)
2021/02/03 Python
CSS3实现DIV圆角效果完整代码
2012/10/10 HTML / CSS
美国知名的旅游网站:OneTravel
2018/10/09 全球购物
100%法国制造的游戏和玩具:Les Jouets Français
2021/03/02 全球购物
高中微机老师自我鉴定
2014/02/16 职场文书
毕业生自荐信如何写
2014/03/24 职场文书
廉洁教育学习材料
2014/05/19 职场文书
2014年小学美术工作总结
2014/12/20 职场文书
结婚喜宴祝酒词
2015/08/10 职场文书
python opencv人脸识别考勤系统的完整源码
2021/04/26 Python