python從第二行開始讀取文件 c#中怎么讀取txt文件的最后幾行?
c#中怎么讀取txt文件的最后幾行?//使用StreamReader流打開txtstreamreader sR=new StreamReader(@“C:”數(shù)據(jù)庫設置.txt“)//讀取TXT的所有內(nèi)
c#中怎么讀取txt文件的最后幾行?
//使用StreamReader流打開txtstreamreader sR=new StreamReader(@“C:”數(shù)據(jù)庫設置.txt“)//讀取TXT的所有內(nèi)容
字符串str=高級ReadToEnd()//將數(shù)組除以Rn,數(shù)組的每個維度都是一行數(shù)據(jù)
string[]arystr=正則表達式。拆分(STR,“Rn”//取最后一行字符串last=arystr[aryStr.長度-1]//使用倒數(shù)第二行aryStr.長度減法2//關(guān)閉StreamReadersr.關(guān)閉為了得到日志的最新狀態(tài),我們需要得到日志的最后一行來判斷。那么,在這種情況下我們該怎么辦?
1)一般方法:從前向后讀取
步驟:打開日志文件。
讀取文件,獲取文件總數(shù)。
遍歷所有行并提取指定行的數(shù)據(jù)。
優(yōu)點:簡單方便
缺點:文件大時,承受時間太慢
2)推薦方法:
步驟:打開日志文件。
將文件讀取指針移到文件末尾。
從后向前移動指針,直到其就位。
讀取文件并提取指定行的數(shù)據(jù)。
優(yōu)點:時間相對固定,適合處理大文件
示例:[Python]view plain copy
logfile=open()日志文件路徑.log“,”r“)!”日志文件.seek(0,2)
日志文件.seek(-1000000,2)
行計數(shù)=0
對于中的行日志文件.readlines()[1:]:
pass
Seek():移動文件讀取指向指定位置的指針
tell():返回文件讀取指針的位置
seek()的三種模式:
(1)f.seek(P,0)移動文件第P字節(jié)的絕對位置
(2)f.seek(P,1)移動到當前位置后的P字節(jié)
(3)f.seek(P,2) 在文章結(jié)束后移到p字節(jié)
您可以使用awk命令編寫循環(huán),然后遍歷所有文件,找到每個文件的最后幾行,并重定向到新文件!