簡體   English   中英

如何在不讀取python整個文件的情況下讀取文件的四行?

[英]How can I read four specific lines of a file without reading the whole file in python?

我需要在python中讀取文件的4條特定行。 我不想讀取所有文件,然后從中取出四個文件(為了方便起見)。 有誰知道這是怎么做到的嗎? 謝謝!

PS我使用以下代碼,但顯然它會讀取所有文件,然后從中取出4個文件。

a=open("file", "r")
b=a.readlines() [c:d]

您必須至少閱讀您感興趣的行...您可以使用islice來抓取切片

interesting_lines = list(itertools.islice(a,c,d))

但它仍然讀到這些行

至少在Mac和Windows,Linux和其他UNIXy系統上,文件只是字節流; 文件結構中沒有“行”的概念,只是碰巧代表換行符的字節。 因此,在文件中查找第N行的唯一方法是從頭開始並進行讀取,直到找到(N-1)個換行為止。 您不必存儲掃描的所有內容,但必須閱讀它們。

然后,您必須從那時開始閱讀和存儲,直到找到另外4條換行符。

您可以在Python中執行此操作,但是與使用直接方法讀取的內容多於所需內容相比,這對我來說尚不成功。 對我來說感覺像是過早的優化。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM