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中的round()方法
May 15 Python
使用Python的Flask框架来搭建第一个Web应用程序
Jun 04 Python
Python实现读取及写入csv文件的方法示例
Jan 12 Python
Django框架多表查询实例分析
Jul 04 Python
python format 格式化输出方法
Jul 16 Python
python中的tcp示例详解
Dec 09 Python
python3+selenium实现qq邮箱登陆并发送邮件功能
Jan 23 Python
在django中图片上传的格式校验及大小方法
Jul 28 Python
解决python 上传图片限制格式问题
Oct 30 Python
浅谈tensorflow 中tf.concat()的使用
Feb 07 Python
python统计函数库scipy.stats的用法解析
Feb 25 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
Nov 26 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
set_include_path和get_include_path使用及注意事项
2013/02/02 PHP
PHP @ at 记号的作用示例介绍
2014/10/10 PHP
php实现按照权重随机排序数据的方法
2015/01/09 PHP
PHP三种方式实现链式操作详解
2017/01/21 PHP
thinkPHP5.0框架URL访问方法详解
2017/03/18 PHP
CCPry JS类库 代码
2009/10/30 Javascript
一起来写段JS drag拖动代码
2010/12/09 Javascript
JavaScript中的变量声明早于赋值分析
2012/03/01 Javascript
轻松创建nodejs服务器(1):一个简单nodejs服务器例子
2014/12/18 NodeJs
TypeScript具有的几个不同特质
2015/04/07 Javascript
nodejs实现获取某宝商品分类
2015/05/28 NodeJs
AngularJS动态绑定HTML的方法分析
2016/11/07 Javascript
JS实用的带停顿的逐行文本循环滚动效果实例
2016/11/23 Javascript
Highcharts+NodeJS搭建数据可视化平台示例
2017/01/01 NodeJs
DOM事件探秘篇
2017/02/15 Javascript
jquery中关于bind()方法的使用技巧分享
2017/03/30 jQuery
Three.js 再探 - 写一个微信跳一跳极简版游戏
2018/01/04 Javascript
深入理解react-router 路由的实现原理
2018/09/26 Javascript
vue App.vue中的公共组件改变值触发其他组件或.vue页面监听
2019/05/31 Javascript
js制作提示框插件
2020/12/24 Javascript
python处理文本文件并生成指定格式的文件
2014/07/31 Python
Python中使用HTMLParser解析html实例
2015/02/08 Python
Python中用Spark模块的使用教程
2015/04/13 Python
Python如何快速实现分布式任务
2017/07/06 Python
[机器视觉]使用python自动识别验证码详解
2019/05/16 Python
在python 中split()使用多符号分割的例子
2019/07/15 Python
pycharm部署、配置anaconda环境的教程
2020/03/24 Python
Python如何使用27行代码绘制星星图
2020/07/20 Python
如何用Python进行时间序列分解和预测
2021/03/01 Python
用CSS3实现瀑布流布局的示例代码
2017/11/10 HTML / CSS
HTML5 Canvas中绘制椭圆的4种方法
2015/04/24 HTML / CSS
《飞向蓝天的恐龙》教学反思
2014/04/09 职场文书
萤火虫之墓观后感
2015/06/05 职场文书
python实现简单的井字棋
2021/05/26 Python
Vue过滤器(filter)实现及应用场景详解
2021/06/15 Vue.js
SpringCloud Function SpEL注入漏洞分析及环境搭建
2022/04/08 Java/Android