从 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)
下面显示的第一段代码从 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)