Py学习  »  Python

python程序读取文件并打印文件的前两行和最后两行

mike.h67 • 3 年前 • 1204 次点击  

我在写一个程序,用户输入一个文件名,然后输出读取文件,只打印文件的前两行和最后两行。我已经想出了如何打印前两行,我也试着打印文件的最后两行,但遇到了一个小问题。有人能解释我做错了什么吗?

f1 = open(input("Source file name: "))

line1= f1.readline()
line2= f1.readline()
line12= f1.readline()
line13= f1.readline()
print("Output:",line1,line2,line12[-1],line13[-2], sep= "")
f1.close()

该文件有13行长,因此输出如下

output: 
line 1 
line 2
line 12
line 13
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/133606
 
1204 次点击  
文章 [ 1 ]  |  最新文章 3 年前
Eric Jin
Reply   •   1 楼
Eric Jin    3 年前

你正在读前4行。你需要通读它们,只保留最后两个。

保存最后两行代码:

line1 = f1.readline()
line2 = f1.readline()

last1, last2 = f1.readline(), f1.readline()
while True:
    line = f1.readline()
    if not line:  # eof
        break
    last1, last2 = line, last1

print("Output:",line1,line2,last2,last1, sep= "")

例如,使用文件 test.txt :

Line1
line2
Line3
line4
Line5
line6
last line, line 7

Output:Line1
line2
line6
last line, line 7