Python - 为大文件加载特定行的文本

Python - Loadtext with specific lines for huge file

我必须在一个巨大的文本文件中获取特定的行。直到现在我尝试如下。我的目标是为特定的迭代提取列,这里每 500 行。但是通过继续 "readlines",有时我会因为文件的大小(直到 4Gb)而遇到一些崩溃。 所以我想找到其他方法来避免问题...

with open('/test.txt') as f:
    text = f.readlines()


A = ""    
for i in text[3000:3500]:
  A+=i

B=A.splitlines()
listed = []
for i in range(len(B)):
  C=B[i][3:47].split(" ")

  while True:
    try:
      C.remove("")
    except ValueError:
      break
  listed.append(C)

import numpy as np
import matplotlib.pyplot as plt

#print listed
x = np.array(listed, dtype=float)
y = x.astype(np.float)

plt.plot(y[:,1]);plt.ylim(0,5);plt.show()

此 post 遵循前一个

如果我没理解错的话,你想要获取第 3000 到 3500 行。你可以这样做:

import itertools
with open('test.txt') as f:
    lines = list(itertools.islice(f, 3000, 3500))