首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用enumerate和next存储接下来的两行

如何使用enumerate和next存储接下来的两行
EN

Stack Overflow用户
提问于 2019-06-19 04:37:06
回答 3查看 93关注 0票数 -1

我有一个文件,其中一个模式是重复每4行。我想看看文件,如果第二行(在4行代码块内)超过2000个字符,我想将4行代码块写到输出文件中。

首先,我应该说,我是一个生物学家,而不是CS,所以我对编程比较陌生。我正在尝试使用enumerate来计算我所在的行,并且enumerate是一个可迭代的,所以我相信我可以在它上面调用下一个函数。然而,当我运行下面的代码块时,我最终打印了组中的所有四行,而理论上,我应该只打印第三行和第四行。但是,当我运行这段代码时,我最终打印了所有行。这就是令人困惑的部分。

代码语言:javascript
复制
with open('file', 'r') as f:
    for i, line in enumerate(f, 1):
     if i % 4 == 1:
         first_line = line 
     if i % 4 == 2:
        if len(line.strip()) > 2000:
            seq_line = line
            third_line = next(f)
            fourth_line = next(f)
            print(third_line)
            print(fourth_line)
        else:
            pass

即使我试着做一些简单的事情,比如:

代码语言:javascript
复制
with open('file', 'r') as f:
    for i, line in enumerate(f, 1):
     if i % 4 == 1:
         first_line = line 
     if i % 4 == 2:
         print(line)
         print(next(f))

我最终得到了所有的行,我仍然不明白。

谢谢。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56656705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档