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