2013-11-27 53 views
0

我试图读取文本文件的最后一行,所以我想出了这个 它不正确?阅读文本文件最后一行的方式是否正确? python

import time 
Data = open("Data.txt") 
lines = len(Data.readlines()) 
Data.close() 

print lines 

Data = open("Data.txt") 

for x in range(0, lines): 
    lastline = Data.readline() 
# print lastline 


print lastline 
+0

是什么让你觉得这是不正确的?什么错误或不同于你的期望? –

+0

为了扩大@JoshCaswell所说的话,正确和不最优是两个不同的东西。如果代码符合你的意图,那就是正确的。但是,可能有更好的方法来做到这一点。你问是否有更好的方法来做到这一点? – SethMMorton

回答

4

我从句法上看不出代码有什么问题,但它可以做得简单得多。使用with是建议的打开文件的方式,它可以确保在代码退出with的范围后正确关闭文件,从而简化代码。

with open("Data.txt") as f: 
    # readlines returns a list of lines in the file 
    # since it is a list all you need do is access the last element in the list 
    # that element should be the last line in your text file. 
    last_line = f.readlines()[-1] 

    print last_line 
相关问题