簡體   English   中英

比較python中的兩個文件

[英]compare two files in python

在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完成?

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

也許standard-lib difflib模塊可以提供幫助-查閱其文檔。 您的問題不夠清晰,無法獲得更完整的答案。

根據給出的模糊信息,我將嘗試以下操作:

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是您應該使用的功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM