-6

所以,我需要一个代码来从 txt 文件中读取偶数行。这是一个任务的例子。

输入:

Bravely bold Sir Robin rode forth from Camelot
Yes, brave Sir Robin turned about
He was not afraid to die, O brave Sir Robin
And gallantly he chickened out
He was not at all afraid to be killed in nasty ways
Bravely talking to his feet
Brave, brave, brave, brave Sir Robin
He beat a very brave retreat

输出:

Yes, brave Sir Robin turned about
And gallantly he chickened out
Bravely talking to his feet
He beat a very brave retreat
4

4 回答 4

3

使用itertools.islice

import itertools
import sys

with open('input.txt') as f:
    sys.stdout.writelines(itertools.islice(f, 1, None, 2))
于 2013-07-28T12:45:35.800 回答
3

因此,只需输出偶数行。

i = 1
f = open('file')
for line in f.readlines():
    if i % 2 == 0 :
        print line
    i += 1
于 2013-07-28T12:48:37.233 回答
0

像这样的东西:

with open('in.txt','r') as f:
    file = f.readlines()

for i in range(1,8,2):
    print file[i]

它将打印:

Yes, brave Sir Robin turned about

And gallantly he chickened out

Bravely talking to his feet

He beat a very brave retreat
于 2013-07-28T12:48:13.543 回答
0

假设 Python 3.x,我会这样做:

with open("input.txt") as f:
    result = list(f)[1::2]

第一行打开文件,with 语句将其置于上下文中。在这种情况下(没有双关语),这意味着文件将自动关闭。下一行获取文件列表,包含其中的所有行。然后对列表进行切片,从位置 1 开始,每次跳转 2 个元素或行。然后将其分配给变量结果。

于 2013-07-28T12:52:29.803 回答