我需要在python中读取文件的4个特定行。我不想读取所有文件,然后从中获取四个(为了menory)。有谁知道这是怎么做到的吗? 谢谢!
P上。 S.我使用了以下代码,但显然它读取了所有文件,然后从中取出4个。
a=open("file", "r")
b=a.readlines() [c:d]
答案 0 :(得分:2)
你必须至少阅读你感兴趣的行......你可以使用islice来获取切片
interesting_lines = list(itertools.islice(a,c,d))
但它仍然会读到这些行
答案 1 :(得分:0)
至少在Mac和Windows以及Linux和其他UNIX系统上,文件只是字节流;没有" line"在文件结构中,只是碰巧代表换行符的字节。因此,在文件中找到第N行的唯一方法是从头开始阅读,直到找到(N-1)换行符。您不必存储您扫描的所有内容,但您必须阅读它。
然后你必须从那一点开始阅读和存储,直到找到另外4个换行符。
你可以用Python做到这一点,但我不清楚它与使用直读方法相比是一场胜利,而这种方法的阅读量超过了它的需要;对我来说感觉就像是过早优化。