我的txt文件有:
/aaa/AB01_Z
/bbb/AB02_Z
/ccc/AB03_Z
/ddd/AB04_Z
我感兴趣的模式是:
^{pr2}$我想按这个顺序打印图案的线条。在
我试过了:
import re
lst = ['AB01', 'AB03']
f = open('myfile.txt')
for pattern in lst:
for line in f:
if re.search(pattern, line):
print(line)
但是,这只返回'/aaa/AB01_Z'。在
如果我打开模式列表循环下的文件,就会得到预期的“/aaa/AB01_Z”和“/ccc/AB03_Z”:
for pattern in lst:
f = open('myfile.txt')
for line in f:
if re.search(pattern, line):
print(line)
为什么第一种情况下不运行for pattern循环?在
当您
for line in f
时,您得到的信息是一个迭代器,它为您提供f
的行,只要有。在第一种情况下,迭代器complete在处理第一种模式时遍历所有的行,在到达第二种模式后,它什么都不提供。在相关问题 更多 >
编程相关推荐