在python中读取N行

时间:2017-01-12 02:36:52

标签: python

我试图在python中读取N行文件。

这是我的代码

N = 10
counter = 0
lines = []
with open(file) as f:
    if counter < N:    
        lines.append(f:next())
    else:
        break

假设文件是​​超大文本文件。无论如何还有更好的写作。我理解在生产代码中,建议不要使用break in循环以获得更好的可读性。但我想不出一个不使用break并达到同样效果的好方法。

我是一名新开发者,我只是想提高代码质量。

非常感谢任何建议。谢谢。

2 个答案:

答案 0 :(得分:-1)

没有必要打破,只需迭代N次。

lines = []
afile = open('...')
for i in range(N):
    aline = afile.readln()
    lines.append(aline)
afile.close()

答案 1 :(得分:-1)

您的代码中没有循环。

N = 10
counter = 0
lines = []
with open(file) as f:
    for line in f:
        lines.append(line)
        counter += 1
        if counter > N:
            break

(如果需要,我让你处理N = 0的边缘情况。)

或者只是

import itertools
N = 10
with open(file) as f:
    lines = list(itertools.islice(f, N))