Python:搜索在金融机构

2024-10-16 22:35:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我的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循环?在


Tags: 文件inretxtforline模式open
1条回答
网友
1楼 · 发布于 2024-10-16 22:35:33

当您for line in f时,您得到的信息是一个迭代器,它为您提供f的行,只要有。在第一种情况下,迭代器complete在处理第一种模式时遍历所有的行,在到达第二种模式后,它什么都不提供。在

相关问题 更多 >