栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何只读取特定字符串后的文本文件中的行?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何只读取特定字符串后的文本文件中的行?

当您到达要开始的行时,只需开始另一个循环即可:

for files in filepath:    with open(files, 'r') as f:        for line in f: if 'Abstract' in line:          for line in f: # now you are at the lines you want         # do work

文件对象是其自己的迭代器,因此当到达其中的行时,

'Abstract'
我们将从该行继续进行迭代,直到消耗完迭代器为止。

一个简单的例子:

gen = (n for n in xrange(8))for x in gen:    if x == 3:        print('Starting second loop')        for x in gen: print('In second loop', x)    else:        print('In first loop', x)

产生:

In first loop 0In first loop 1In first loop 2Starting second loopIn second loop 4In second loop 5In second loop 6In second loop 7

您还可以使用itertools.dropwhile来消耗所需的行:

from itertools import dropwhilefor files in filepath:    with open(files, 'r') as f:        dropped = dropwhile(lambda _line: 'Abstract' not in _line, f)        next(dropped, '')        for line in dropped:     print(line)


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/624495.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号