2013-11-27 38 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 
相關問題