Python如何获取文件指定行的内容

时间:2021-05-22

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 linecachethe_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 linecachethe_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获取文件指定行的内容的方法内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章