python – 匹配模式并打印下一行
发布时间:2020-12-20 13:11:14 所属栏目:Python 来源:网络整理
导读:我有一个包含某些规则的文本文件.这是格式: :SchoolName (rule_1)):xyz (true):abc_efg ( : xxyyzz-x1y1-z1z2-z3z4) 我想匹配’:abc_efg’并在比赛结束后得到一条线,即 ‘:xxyyzz-x1y1-z1z2-z3z4’ 每次有新文件时,它会查找’:abc_efg’并在匹配后获得相
我有一个包含某些规则的文本文件.这是格式:
:SchoolName (rule_1) ) :xyz (true) :abc_efg ( : xxyyzz-x1y1-z1z2-z3z4 ) >我想匹配’:abc_efg’并在比赛结束后得到一条线,即 到目前为止我已经尝试过 with open('G:CMPython ExercisesProject_Fabc.txt') as f: text = f.read() list1=text.strip('nt').split(':') print list1 for line in list1: if ':abc_efg' in list1: print line print 'n'.join(list1[i+1]) print list1显示 [':abc_efg (nttt',': xxyyzz-x1y1-z1z2-z3z4 ntt)ntt'] 解决方法
使用f.readline()逐行读取文件.
当匹配时,它可以很容易地获得下一行. with open('abc.txt') as f: a = ' ' while(a): a = f.readline() l = a.find(':abc_efg') #Gives a non-negative value when there is a match if ( l >= 0 ): print f.readline() (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |