Python怎么读文件里的指定行?Python如何只获取文件指定行内容

【Python怎么读文件里的指定行?Python如何只获取文件指定行内容】python之中有内置函数、标准库以及很多的不同的第三方库提供了许多对不同格式和类型文件的读写操作 。而在有些时候只需要获取文件内指定一行而不是全部内容,这样可以减少程序运行时间和资源浪费 。下面有详细的代码示例和解析,一起往下看看吧 。

Python怎么读文件里的指定行?Python如何只获取文件指定行内容

文章插图
1.python中虽然可以使用内置函数open()来读取文本类型的文件,但是它一般只能够对txt文本进行操作,像是word或者是logging这些同样为文本类型的文件就不是它可以去操作的了 。
而这个时候可以用python的另外一个内置模块linecache,它的作用就是从一个文件中将某一行的内容读取出来,代码如下所示:
import linecachethe_line = linecache.getline('d:/FreakOut.cpp', 222)print(the_line)该模块内getline()方法就是用来读取文件指定行内容的,以上示例中的作用就是将文件第222行的内容给读取出来并打印 。之所以使用该模块和方法的原因就在于,如果文件或者行没有找到时不会引发错误,而是返回空字符串 。
2.使用该模块和方法之前需要注意一下文件的内容是否很多,因为它实际上是先将整个文件内容都读取一遍然后放在缓存中,再去取出指定行的数据 。所以当文件内容过多是可以先用enumerate()枚举方法加上open()函数把一个文件打开并且获取它的全部行数和每行内容,然后再返回该行所对应的内容,详细代码示例如下所示:
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如何只获取文件指定行内容”的全部内容了,希望对你有所帮助 。

    推荐阅读