比较python中的两个文件

时间:2010-03-26 12:55:56

标签: python string

在a.txt中我有文字(第一行一行)

login;user;name
login;user;name1
login;user

在b.txt中我有文字

login;user
login;user
login;user;name2

比较后它应该在文本文件中显示为

login;user;name
login;user;name1
login;user;name2.... 

如何使用python完成?

3 个答案:

答案 0 :(得分:4)

for a, b in zip(open('a'), open('b')):
    print(a if len(a.split(';')) == 3 else b)

答案 1 :(得分:1)

也许标准的lib difflib模块可以提供帮助 - 查看其文档。你的问题不够明确,无法得到更完整的答案。

答案 2 :(得分:0)

根据给出的模糊信息,我会尝试以下内容:

import itertools

def merger(fni1, fni2):
    "merge two files ignoring 'login;user\n' lines"
    fp1= open(fni1, "r")
    fp2= open(fni2, "r")
    try:
        for line in itertools.chain(fp1, fp2):
            if line != "login;user\n":
                yield line
    finally:
        fp1.close()
        fp2.close()

def merge_to_file(fni1, fni2, fno):
    with open(fno, "w") as fp:
        fp.writelines(merger(fni1, fni2))

merge_to_file是您应该使用的功能。