以下是一个Python代码示例,用于比较两个文件并打印与其上一行和下一行匹配的字符串。
def compare_files(file1, file2):
with open(file1, 'r') as f1, open(file2, 'r') as f2:
lines1 = f1.readlines()
lines2 = f2.readlines()
for i in range(1, len(lines1)-1):
line1 = lines1[i].strip()
line2 = lines2[i].strip()
previous_line1 = lines1[i-1].strip()
next_line1 = lines1[i+1].strip()
previous_line2 = lines2[i-1].strip()
next_line2 = lines2[i+1].strip()
if line1 == line2:
print(f"Line {i}: {line1}")
print(f"Previous Line in file1: {previous_line1}")
print(f"Next Line in file1: {next_line1}")
print(f"Previous Line in file2: {previous_line2}")
print(f"Next Line in file2: {next_line2}")
print("---")
# 测试
compare_files("file1.txt", "file2.txt")
在上面的代码中,我们首先打开两个文件,并逐行读取它们的内容。然后,我们使用strip()
方法去除每一行的前导和尾随空格,以确保比较的准确性。
然后,我们使用一个循环来遍历两个文件的每一行(除了第一行和最后一行),并使用strip()
方法去除前导和尾随空格。然后,我们将当前行与相应的上一行和下一行进行比较。
如果当前行与另一个文件中的相应行匹配,我们将打印出当前行以及其上一行和下一行,并在它们之间添加分隔符。
请注意,上述代码假设两个文件具有相同的行数,并且不对文件的格式进行任何处理(如忽略空行或处理不同的换行符)。如果需要处理这些情况,可以对代码进行适当的修改。