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 相关文章推荐
使用PyCharm配合部署Python的Django框架的配置纪实
Nov 19 Python
Windows下python2.7.8安装图文教程
May 26 Python
详解python中xlrd包的安装与处理Excel表格
Dec 16 Python
python http接口自动化脚本详解
Jan 02 Python
python画出三角形外接圆和内切圆的方法
Jan 25 Python
Request的中断和ErrorHandler实例解析
Feb 12 Python
Python实现在某个数组中查找一个值的算法示例
Jun 27 Python
Django之路由层的实现
Sep 09 Python
Python中turtle库的使用实例
Sep 09 Python
自定义Django默认的sitemap站点地图样式
Mar 04 Python
Python基于yield遍历多个可迭代对象
Mar 12 Python
Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow
Apr 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
在IIS上安装PHP4.0正式版
2006/10/09 PHP
php 模拟POST|GET操作实现代码
2010/07/20 PHP
php删除指定目录的方法
2015/04/03 PHP
PHP的PDO大对象(LOBs)
2019/01/27 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
推荐自用 Javascript 缩图函数 (onDOMLoaded)……
2007/10/23 Javascript
JavaScript DOM 添加事件
2009/02/14 Javascript
IE innerHTML,outerHTML所引起的问题
2009/06/04 Javascript
javascript日期格式化示例分享
2014/03/05 Javascript
在Node.js中实现文件复制的方法和实例
2014/06/05 Javascript
在浏览器中实现图片粘贴的jQuery插件-- pasteimg使用指南
2014/12/29 Javascript
js格式化输入框内金额、银行卡号
2016/02/01 Javascript
浅谈几种常用的JS类定义方法
2016/06/08 Javascript
React学习之事件绑定的几种方法对比
2017/09/24 Javascript
在Vue中获取组件声明时的name属性方法
2018/09/12 Javascript
在create-react-app中使用sass的方法示例
2018/10/01 Javascript
vue中的面包屑导航组件实例代码
2019/07/01 Javascript
微信小程序canvas开发水果老虎机的思路详解
2020/02/07 Javascript
Vue脚手架编写试卷页面功能
2020/03/17 Javascript
python取代netcat过程分析
2018/02/10 Python
python编写弹球游戏的实现代码
2018/03/12 Python
python实现excel读写数据
2021/03/02 Python
用python处理MS Word的实例讲解
2018/05/08 Python
Sanic框架安装与简单入门示例
2018/07/16 Python
Django视图扩展类知识点详解
2019/10/25 Python
通过实例解析Python RPC实现原理及方法
2020/07/07 Python
Python可以用来做什么
2020/11/23 Python
python如何用matplotlib创建三维图表
2021/01/26 Python
借助HTML5 Canvas来绘制三角形和矩形等多边形的方法
2016/03/14 HTML / CSS
zooplus波兰:在线宠物店
2019/07/21 全球购物
党员自我批评与反省材料
2014/02/10 职场文书
《我的信念》教学反思
2014/02/15 职场文书
低碳环保倡议书
2014/04/14 职场文书
计算机求职信
2014/07/02 职场文书
安全守法证明
2015/06/23 职场文书
2016年基层党组织公开承诺书
2016/03/25 职场文书