python比较两个文件1.txt和2.txt的内容差异并输出差异字符
时间: 2024-04-10 19:28:04 浏览: 123
python-比较两个文件的内容差异,并显示
要比较两个文件`1.txt`和`2.txt`的内容差异并输出差异字符,可以使用`difflib`模块的`ndiff`函数。以下是示例代码:
```python
import difflib
def compare_files(file1, file2):
with open(file1, 'r') as f1, open(file2, 'r') as f2:
lines1 = f1.read()
lines2 = f2.read()
diff = difflib.ndiff(lines1, lines2)
# 提取差异字符
diff_chars = [line[2:] for line in diff if line.startswith('- ') or line.startswith('+ ')]
return diff_chars
# 示例用法
file1 = '1.txt'
file2 = '2.txt'
diff_chars = compare_files(file1, file2)
print(diff_chars)
```
在上述代码中,我们定义了`compare_files`函数来比较两个文件的内容差异,并返回差异字符。首先,我们使用`open`函数打开两个文件,并将其内容分别读取到`lines1`和`lines2`变量中。然后,我们使用`difflib`模块的`ndiff`函数生成差异行的迭代器`diff`。接下来,我们遍历迭代器中的每一行,如果该行以`- `或`+ `开头,则表示有差异,我们提取该行除去前两个字符(即差异字符)并存储在`diff_chars`列表中。
最后,我们调用`compare_files`函数来比较`1.txt`和`2.txt`文件的内容差异,并将差异字符打印出来。您可以根据实际的文件名和路径进行调整。
阅读全文