从 txt 文件中一次读取两行

Read two lines at a time from a txt file

下面显示的第一段代码从 txt 文件中读取一行

它一次读取一行,但我想要实现的是让它一次读取两行。

我尝试调用该函数两次,但它所做的只是读取同一行并打印两次。

我尝试使用 itertools 和 islice 函数,但它似乎不起作用,我遗漏了一些东西。

抱歉,这是 Python 8 天经验的结果。

如何让它一次读取N行?

file = open('textfile.txt', 'r')
filelines = file.readlines()
file.close()

for line in filelines:
    if line != '\n':
        api.update_status(line)
...

尝试使用 islice() 解决问题。

from itertools import islice

with open('file.txt') as file:

  while True:

    next_n_lines = islice(file, 2)

    if not next_n_lines:

        break

您可以使用枚举遍历文件以获取行号,只需将偶数行存储在临时变量中,然后移至下一个奇数行。在奇数行上,您可以访问上一行和当前行。

with open('somefile.txt', 'r') as f:
    lastline = ''
    for line_no, line in enumerate(f):
        if line_no % 2 == 0: #even number lines (0, 2, 4 ...) go to `lastline`
            lastline = line
            continue #jump back to the loop for the next line
        print("here's two lines for ya")
        print(lastline)
        print(line)