编写一个函数compare(file1,file2),比较两个文本文件内容是否相同,如果内容相同返回True,否则返回False。在主程序中输入两个要比较的两文件名,然后调用以上函数,文件内容相同则输出“No difference!”;否则,输出从第几个字符开始不相同。
时间: 2023-06-18 11:06:35 浏览: 163
下面是实现该功能的 Python 代码:
```python
def compare(file1, file2):
with open(file1, 'r') as f1, open(file2, 'r') as f2:
while True:
line1 = f1.readline()
line2 = f2.readline()
if line1 == "" and line2 == "":
return True
elif line1 != line2:
return False
# 如果两行相同,则继续比较下一行
if __name__ == "__main__":
file1 = input("请输入文件1的文件名:")
file2 = input("请输入文件2的文件名:")
if compare(file1, file2):
print("No difference!")
else:
with open(file1, 'r') as f1, open(file2, 'r') as f2:
index = 0
while True:
char1 = f1.read(1)
char2 = f2.read(1)
if char1 == "" and char2 == "":
break
elif char1 != char2:
print("第{}个字符开始不同".format(index))
break
index += 1
```
该函数使用了两个文件的上下文管理器来打开文件,并逐行比较它们的内容。如果两个文件的内容相同,则返回 True,否则返回 False。在主程序中,如果两个文件的内容相同,则输出 "No difference!"。否则,使用 `read(1)` 方法逐个读取字符,直到发现不同的字符。然后输出从第几个字符开始不同。
阅读全文