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实现的字典值比较功能示例
Jan 08 Python
python3使用flask编写注册post接口的方法
Dec 28 Python
Python3 单行多行万能正则匹配方法
Jan 07 Python
python 调用钉钉机器人的方法
Feb 20 Python
python+numpy实现的基本矩阵操作示例
Jul 19 Python
pyinstaller还原python代码过程图解
Jan 08 Python
Python 实现加密过的PDF文件转WORD格式
Feb 04 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
Feb 07 Python
pycharm激活码快速激活及使用步骤
Mar 12 Python
在keras里实现自定义上采样层
Jun 28 Python
Python 中如何写注释
Aug 28 Python
pandas针对excel处理的实现
Jan 15 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
用cookies来跟踪识别用户
2006/10/09 PHP
prototype 学习笔记整理
2009/07/17 Javascript
Mootools 1.2教程 输入过滤第二部分(字符串)
2009/09/15 Javascript
javascript来定义类的规范小结
2010/11/19 Javascript
JQueryEasyUI datagrid框架的基本使用
2013/04/08 Javascript
js innerHTML 改变div内容的方法
2013/08/03 Javascript
jQuery中的height innerHeight outerHeight区别示例介绍
2014/06/15 Javascript
纯js模拟div层弹性运动的方法
2015/07/27 Javascript
JS未跨域操作iframe里的DOM
2016/06/01 Javascript
利用原生JS与jQuery实现数字线性变化的动画
2017/02/24 Javascript
关于js中的鼠标事件总结
2017/07/11 Javascript
微信小程序踩坑记录之解决tabBar.list[3].selectedIconPath大小超过40kb
2018/07/04 Javascript
解决vue打包css文件中背景图片的路径问题
2018/09/03 Javascript
jQuery插件实现非常实用的tab栏切换功能【案例】
2019/02/18 jQuery
mpvue 页面预加载新增preLoad生命周期的两种方式
2019/10/17 Javascript
vue.js 实现a标签href里添加参数
2019/11/12 Javascript
node.js中path路径模块的使用方法实例分析
2020/02/13 Javascript
[38:30]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第一场2
2014/05/24 DOTA
python正则表达式抓取成语网站
2013/11/20 Python
python分割列表(list)的方法示例
2017/05/07 Python
Python初学时购物车程序练习实例(推荐)
2017/08/08 Python
python语音识别实践之百度语音API
2018/08/30 Python
python opencv实现gif图片分解的示例代码
2019/12/13 Python
python中的itertools的使用详解
2020/01/13 Python
将pytorch转成longtensor的简单方法
2020/02/18 Python
python传到前端的数据,双引号被转义的问题
2020/04/03 Python
matplotlib交互式数据光标mpldatacursor的实现
2021/02/03 Python
Luxplus瑞典:香水和美容护理折扣
2018/01/28 全球购物
ABOUT YOU罗马尼亚:超过600个时尚品牌
2019/09/19 全球购物
中医专业应届生求职信
2013/11/17 职场文书
2014基层党员干部学习全国两会心得体会
2014/03/17 职场文书
2015年学校管理工作总结
2015/07/20 职场文书
初中团委工作总结
2015/08/13 职场文书
小学班长竞选稿
2015/11/20 职场文书
告诉你一个秘密:富人致富的五大优点
2019/07/11 职场文书
行政后勤人员工作计划应该怎么写?
2019/08/16 职场文书