如何将onefile中列表中项目的匹配项保存到另一个文件中

时间:2015-10-17 13:04:58

标签: python

我想出了这段代码。我没有得到任何保存在输出,它保持空白。虽然代码有效但我看到正确的匹配在控制台中打印。

for item in somelist:
    with open('eng.txt','r') as dic, open('output.txt', 'w') as output:
        for line in dic:
            if re.match(item, line):
                output.write(line)
                print line

我尝试了另一个版本:

for item in somelist:
    with open('eng.txt','r') as dic:
        for line in dic:
            if re.match(item, line):
                with open('output.txt', 'w') as output:
                    output.write(line)
                    print line

这样它只保存最后一行,但不保存所有匹配。我该如何解决?

1 个答案:

答案 0 :(得分:4)

像这样,在第一步打开输出文件,然后根据需要写入文件。

with open('output.txt', 'w') as output:
    for item in final_list:
        with open('eng.txt','r') as dic:
            for line in dic:
                if re.match(item, line):
                    output.write(line)
                    print line

您在第二个代码段中每次新建时都创建了文件对象 output