亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問如何跳轉到一個巨大的文本文件中的特定行?

請問如何跳轉到一個巨大的文本文件中的特定行?

大話西游666 2019-11-17 16:12:44
如何跳轉到一個巨大的文本文件中的特定行?以下代碼是否有其他替代方法:startFromLine = 141978 # or whatever line I need to jump tourlsfile = open(filename, "rb", 0)linesCounter = 1for line in urlsfile:     if linesCounter > startFromLine:         DoSomethingWithThisLine(line)     linesCounter += 1如果我正在(~15MB)使用未知但不同長度的行處理一個巨大的文本文件,并且需要跳轉到我事先知道的特定行?當我知道我至少可以忽略文件的前半部分時,我會逐個處理它們。尋找更優雅的解決方案,如果有的話。
查看完整描述

3 回答

?
30秒到達戰場

TA貢獻1828條經驗 獲得超6個贊

inecache:

linecache模塊允許從Python源文件獲取任何行,同時嘗試使用緩存在內部進行優化,這是從單個文件中讀取許多行的常見情況。traceback模塊使用它來檢索源行以包含在格式化的回溯中...



查看完整回答
反對 回復 2019-11-18
?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

如果線條的長度不同,你真的沒有那么多的選項...你可能需要處理行結束字符以了解你何時進展到下一行。

但是,您可以通過將最后一個參數更改為“打開”到非0的值來顯著加快速度并減少內存使用量。

0表示文件讀取操作是無緩沖的,這非常慢并且磁盤密集。1表示文件是行緩沖的,這將是一種改進。大于1的任何東西(比如8k ......即:8096或更高)將文件的塊讀取到內存中。你仍然可以訪問它for line in open(etc):,但是python一次只能進行一些操作,在處理后丟棄每個緩沖的塊。



查看完整回答
反對 回復 2019-11-18
  • 3 回答
  • 0 關注
  • 412 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號