import difflib
# 读取两个文件的内容
with open('main1.c', 'r', encoding='utf-8') as f1, open('main2.c', 'r', encoding='utf-8') as f2:
text1 = f1.readlines()
text2 = f2.readlines()
# 使用difflib比较两个文本
diff = difflib.Differ()
diff_result = list(diff.compare(text1, text2))
# 合并差异并写入新文件
with open('merged_file.c', 'w', encoding='utf-8') as merged_file:
for line in diff_result:
# 根据difflib的输出格式处理每一行
if line.startswith('+'):
# '+' 表示只在第二个文件中存在的行,直接写入
merged_file.write(line.replace('+', ' '))
elif line.startswith('-'):
# '-' 表示只在第一个文件中存在的行,也直接写入
merged_file.write(line.replace('-', ' '))
elif line.startswith('?'):
# '?' 表示两个文件中都有的行,但内容不同,需要进一步处理
continue
else:
pass
# 其他情况(包括' '和'?')表示两个文件中都有的行或不确定的行,也写入
merged_file.write(line)