用python写 两个txt文件每一行对比 如果不一样则返回该行
时间: 2023-08-22 20:03:43 浏览: 123
好的,可以通过以下代码实现:
```python
# 打开第一个文件
with open("file1.txt", "r") as f1:
# 打开第二个文件
with open("file2.txt", "r") as f2:
# 逐行对比两个文件
for line1, line2 in zip(f1, f2):
# 如果两行内容不同
if line1.strip() != line2.strip():
# 输出不同的行
print(line1.strip())
```
这段代码假设两个文件名分别为`file1.txt`和`file2.txt`,并且这两个文件中的每一行都是文本内容。代码的思路是打开两个文件,并使用`zip`函数逐行对比两个文件中的内容。如果两行内容不同,则输出不同的行。
注意,这段代码只会输出第一个文件中与第二个文件不同的那些行。如果第二个文件中有第一个文件没有的行,这段代码不会输出它们。如果需要在两个文件中都找到不同的行,可以将代码稍作修改,比如:
```python
# 打开第一个文件
with open("file1.txt", "r") as f1:
# 打开第二个文件
with open("file2.txt", "r") as f2:
# 初始化两个文件的行号
line_num1 = 0
line_num2 = 0
# 逐行对比两个文件
for line1, line2 in zip(f1, f2):
# 增加行号
line_num1 += 1
line_num2 += 1
# 如果两行内容不同
if line1.strip() != line2.strip():
# 输出不同的行和行号
print("文件1的第%d行与文件2的第%d行不同:" % (line_num1, line_num2))
print("文件1的内容:", line1.strip())
print("文件2的内容:", line2.strip())
# 如果第一个文件还有剩余的行,输出它们
for line in f1:
line_num1 += 1
print("文件1的第%d行:" % line_num1, line.strip())
# 如果第二个文件还有剩余的行,输出它们
for line in f2:
line_num2 += 1
print("文件2的第%d行:" % line_num2, line.strip())
```
这段代码除了输出不同的行和行号外,还会输出两个文件各自剩余的行。
阅读全文
相关推荐














