在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完成?
答案 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
是您应该使用的功能。