import os
import re
import sys
import getopt
def getContent(cfile):
A = open(cfile)
content = []
lines = A.readlines()
k = 0
f = False
for i, line in enumerate(lines):
if k != 0 and f:
k -= 1
continue
if line.startswith("#ifdef __cplusplus"):
k = 2
f = True
continue
if line.startswith("#ifdef __cplusplus"):
break
if f:
content.append(line)
return content
def diff(A, B):
# f = False
# sa = 0
sb = 0
for i in range(len(A)):
if i == len(A):
return B
if A[i] == "\n":
continue
sb = B.index(A[i], sb)
end = 0
for j in range(i, len(A)):
if A[j] != B[sb + j - i]:
end = j
break
B = B[0:sb] + B[end:len(B)]
A = A[0:i] + A[j:len(A)]
return B
def printContent(B):
for line in B:
print(line)
if __name__ == "__main__":
A = getContent("A.c")
B = getContent("B.c")
B = diff(A, B)
# output = []
# for line in B:
# if line != "\n":
# line = line[0:len(line) - 1]
# output.append(line)
# printContent(output)
fo = open("output.c", "w")
fo.writelines(B)
差异工具比较
最新推荐文章于 2023-07-16 17:24:35 发布