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学习笔记 下载
Feb 10 Python
使用Python中的cookielib模拟登录网站
Apr 09 Python
Python Flask-web表单使用详解
Nov 18 Python
Centos7 Python3下安装scrapy的详细步骤
Mar 15 Python
python多进程实现文件下载传输功能
Jul 28 Python
Python查找数组中数值和下标相等的元素示例【二分查找】
Feb 13 Python
详解使用python绘制混淆矩阵(confusion_matrix)
Jul 14 Python
Python 实现Numpy中找出array中最大值所对应的行和列
Nov 26 Python
Python 随机生成测试数据的模块:faker基本使用方法详解
Apr 09 Python
python json.dumps() json.dump()的区别详解
Jul 14 Python
Python命令行参数argv和argparse该如何使用
Feb 08 Python
基于Python实现对比Exce的工具
Apr 07 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
WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略
2006/07/09 PHP
PHP 缓存实现代码及详细注释
2010/05/16 PHP
jQuery+PHP+ajax实现微博加载更多内容列表功能
2014/06/27 PHP
php常用的工具开发整理
2019/09/26 PHP
laravel5.5安装jwt-auth 生成token令牌的示例
2019/10/24 PHP
js利用Array.splice实现Array的insert/remove
2009/01/13 Javascript
ASP 过滤数组重复数据函数(加强版)
2010/05/31 Javascript
Jquery api 速查表分享
2015/01/12 Javascript
jQuery选择id属性带有点符号元素的方法
2015/03/17 Javascript
Jquery中使用show()与hide()方法动画显示和隐藏图片
2015/10/08 Javascript
js全选按钮的实现方法
2015/11/17 Javascript
this,this,再次讨论javascript中的this,超全面(经典)
2016/01/05 Javascript
jQuery弹出遮罩层效果完整示例
2016/09/13 Javascript
详解jquery插件jquery.viewport.js学习使用方法
2017/09/08 jQuery
vue3.0 CLI - 3.2 路由的初级使用教程
2018/09/20 Javascript
通过JS深度判断两个对象字段相同
2019/06/14 Javascript
layui 实现加载动画以及非真实加载进度的方法
2019/09/23 Javascript
webpack HappyPack实战详解
2019/10/08 Javascript
在Linux上安装Python的Flask框架和创建第一个app实例的教程
2015/03/30 Python
使用httplib模块来制作Python下HTTP客户端的方法
2015/06/19 Python
Python简单实现自动删除目录下空文件夹的方法
2017/08/29 Python
python实现对excel进行数据剔除操作实例
2017/12/07 Python
浅谈python日志的配置文件路径问题
2018/04/28 Python
Python打包方法Pyinstaller的使用
2018/10/09 Python
python实现整数的二进制循环移位
2019/03/08 Python
Python利用pandas处理Excel数据的应用详解
2019/06/18 Python
PHP基于phpqrcode类库生成二维码过程解析
2020/05/28 Python
利用Python发送邮件或发带附件的邮件
2020/11/12 Python
详解html5页面 rem 布局适配方法
2018/01/12 HTML / CSS
老师给学生的表扬信
2014/01/17 职场文书
民主评议党员总结
2014/10/20 职场文书
丧事答谢词
2015/01/05 职场文书
给病人的慰问信
2015/03/23 职场文书
学校捐书倡议书
2015/04/27 职场文书
毕业赠语大全
2015/06/23 职场文书
2016秋季田径运动会广播稿
2015/12/21 职场文书