python打印文件的前几行或最后几行教程

1. 前言

在Python编程中,我们经常需要读取和处理文本文件。而有时候,我们只需要查看文件的前几行或者最后几行,而不是将整个文件读入内存中。

在本篇教程中,我们将学习如何使用Python来实现打印文件的前几行或最后几行。

2. 打印文件的前几行

2.1 使用for循环打印文件的前几行

首先,我们可以使用for循环逐行读取文件,并打印出前几行数据。下面是一个示例代码:

def print_lines_from_beginning(filename, num_lines):

with open(filename, 'r') as file:

for i, line in enumerate(file):

if i < num_lines:

print(line.strip())

else:

break

上面的代码中,我们定义了一个函数print_lines_from_beginning(filename, num_lines),接受两个参数:

filename:要打印的文件名。

num_lines:要打印的行数。

在函数中,我们使用了enumerate()函数来获取每一行的行号:i。当行号i小于num_lines时,打印出该行的内容。

例如,我们可以使用以下代码来打印文件example.txt的前5行:

print_lines_from_beginning('example.txt', 5)

这将输出文件example.txt的前5行数据。

2.2 使用readline()方法打印文件的前几行

另一种打印文件前几行的方法是使用readline()方法。该方法每次只读取一行,并将文件指针移动到下一行。

def print_lines_from_beginning_v2(filename, num_lines):

with open(filename, 'r') as file:

lines = [file.readline().strip() for _ in range(num_lines)]

print('\n'.join(lines))

上述代码中,我们使用了列表推导式来读取num_lines行数据,并将其存储在列表lines中。然后,我们使用join()方法将列表中的每一行连接起来,并用换行符分隔。

例如,我们可以使用以下代码来打印文件example.txt的前5行:

print_lines_from_beginning_v2('example.txt', 5)

这将输出文件example.txt的前5行数据。

3. 打印文件的最后几行

3.1 使用deque实现

要打印文件的最后几行,我们可以使用collections模块中的deque类。下面是一个示例代码:

from collections import deque

def print_lines_from_end(filename, num_lines):

with open(filename, 'r') as file:

lines = deque(file, num_lines)

for line in lines:

print(line.strip())

上述代码中,我们使用deque类来创建一个长度为num_lines的队列lines。然后,我们遍历队列lines并打印每一行的内容。

例如,我们可以使用以下代码来打印文件example.txt的最后5行:

print_lines_from_end('example.txt', 5)

这将输出文件example.txt的最后5行数据。

3.2 使用readlines()方法实现

另一种打印文件最后几行的方法是使用readlines()方法。该方法将文件的所有行读入一个列表。

def print_lines_from_end_v2(filename, num_lines):

with open(filename, 'r') as file:

lines = file.readlines()[-num_lines:]

for line in lines:

print(line.strip())

上述代码中,我们使用切片操作从列表中选择最后num_lines行数据,并遍历并打印每一行的内容。

例如,我们可以使用以下代码来打印文件example.txt的最后5行:

print_lines_from_end_v2('example.txt', 5)

这将输出文件example.txt的最后5行数据。

4. 总结

在本篇教程中,我们学习了如何使用Python来打印文件的前几行或最后几行。我们使用了多种方法来实现这个功能,包括使用for循环、readline()方法、deque类和readlines()方法。

通过掌握这些方法,我们可以更灵活地处理大型文本文件,并快速查看文件的关键部分。

后端开发标签