我使用python 2.7来循环两个列表,希望对于'mcode.txt'中的每个元素,如果它存在于'info.txt'中的一行中,那么它会在'mcode.txt'中打印元素并且'info.txt'中的部分行。
M010000000000316660
M010000000000439672
M010000000000346627
M010000000000265328
'info.txt'看起来像这样:
H05-01-001A M010000000000439672
H05-01-002A M010000000000316660
H05-01-003A M010000000000346627
H05-01-004A M010000000000265328
这是我的代码。
import re
with open('mcode.txt') as mcodetext:
with open('info.txt') as infotext:
for mcode in mcodetext:
for info in infotext:
if mcode in info:
location = re.findall('(H..........)',info)
print mcode,location
输出:
M010000000000316660
['H05-01-002A']
期望的输出:
M010000000000316660
['H05-01-002A']
M010000000000439672
['H05-01-001A']
M010000000000346627
['H05-01-003A']
M010000000000265328
['H05-01-004A']
我尝试在不同的行之后添加'print'以查看确实出错的地方。似乎第二个循环只运行一次然后停止。
如果您能让我知道如何正确使用代码,我将非常感激。非常感谢!