如何用python读取文本中指定行的内容

如题所述

第1个回答  2024-12-03
在Python中读取文本文件中的特定行内容,可以使用多种方法。其中一种方法是使用readlines()函数,这种方法可以一次性将文件的所有行读取到一个列表中,然后再通过索引来获取特定行。例如,要读取从第1000行开始的所有行,可以这样操作:

python

fobj = open(r'Ori.Data.txt','r')

for line in fobj.readlines()[1000:]:

fobj.close()

另一种方法是使用linecache模块,它提供了一个简单的接口来访问文件中的单行。例如,要读取文件中第10行的内容,可以使用如下代码:

python

import linecache

print(linecache.getline(r'D:\z.txt',10))

如果你需要读取某段特定范围内的行,例如第10行到第13行的内容,可以使用with语句和for循环结合的方式,代码如下:

python

lnum = 0

with open('pit.txt', 'r') as fd:

for line in fd:

lnum += 1

if (lnum >= 10) && (lnum <= 13):

print(line)

fd.close()

如果你想要获取文件的行数,可以通过读取所有行并计算列表的长度来实现。这种方法的代码如下:

python

fobj = open('Ori_Data.txt','r')

row_len = len(fobj.readlines())

另一种计算行数的方法是先读取整个文件内容,然后计算字符串中的换行符个数:

python

fobj = open(filepath,'r')

data = fobj.read()

fobj.close()

text_len = data.count('\n')

这些方法各有优劣,选择哪种方法取决于具体的需求和文件的大小。对于较小的文件,直接读取所有内容并计算行数可能是最简单的方法。而对于较大的文件,逐行读取并处理可能更节省内存。
相似回答
大家正在搜