difflib.unified_diff()
时间: 2024-09-23 21:10:41 浏览: 34
`difflib.unified_diff()` 是 Python `difflib` 模块中的一个函数,它用于生成两个序列(通常是文本文件的行)之间的统一差异格式的输出。这种差异通常用于显示文件的差异,便于理解和合并更改。
该函数接收五个参数:
1. **list1** 和 **list2**: 两个需要比较的列表或文件内容,通常按行分割。
2. **fromfile**: 输出到标准输出前的头信息,代表第一个列表或文件名。
3. **tofile**: 输出到标准输出后的头信息,代表第二个列表或文件名。
4. **fromfiledate**: 可选的,如果有的话,提供第一个文件的日期。
5. **tofiledate**: 同上,提供第二个文件的日期。
当你调用 `unified_diff()` 并打印结果时,它会返回一个包含六个部分的每一行:`<` 或 `>` 表示插入或删除,行号,原始内容,`---` 或 `++` 表示范围,以及新的内容。例如:
```python
import difflib
str1 = "这是第一段\n这是第二段"
str2 = "这是新的第一段\n这是第三段"
diff = difflib.unified_diff(str1.splitlines(keepends=True),
str2.splitlines(keepends=True),
fromfile='原文件.txt',
tofile='新文件.txt')
for line in diff:
print(line)
```
运行此代码将输出两个字符串的差异,包括插入和删除的行。
阅读全文