2012-06-26 80 views
3

可能重複閱讀由中間的點線文件:
python: how to jump to a particular line in a huge text file?Python。通過(以字節爲單位)

我想讀各種線條勾勒出大(250MB)的文件。

的頭告訴我在哪裏,某些部件,即該文件的歷史款開始於字節241817341.

那麼,有沒有一種方法來讀取文件只在開始該字節,而不必通過第一個文件的其餘部分?例如:

file = open(file_name,'r') 
history_line = file.readline(241817341) 
while history_line != 'End': 
    history_line = file.readline() 
    [Do something with that line] 

這樣的事情是否可行?

+1

file.seek我認爲這是你想要的...也許file.tell也 –

+1

@DarX:這是_close_ - 但是當你知道你要在一個特定的行號開始。除了首先閱讀整個愚蠢的東西之外,沒有什麼好辦法來處理。這是從一個已知的_byte_開始的,這是不同的,它可以快速完成。 – sarnold

+0

歡呼傢伙,尋求偉大的作品。 – EddyTheB

回答

7
f.seek(0) 
print f.readline() 
>>> Hello, world! 

f.seek(4) 
print f.readline() 
>>> o, world! 
+0

真棒,這是完美的,謝謝。 – EddyTheB

+0

不用擔心:-)。 –

相關問題