python对文件进行内容比对,并显示重复率
时间: 2024-12-21 10:28:43 浏览: 6
Python中可以使用内置的`difflib`模块来进行文件内容比较,特别是通过`SequenceMatcher`类来计算两个文本序列的相似度。对于重复率检测,你可以先读取两个文件的内容,然后将它们转化为集合(set)来去除重复项,最后计算两个集合的不同元素数量除以两者总元素数,得到重复率。这里是一个简单的示例:
```python
import difflib
def file_similarity(file1_path, file2_path):
with open(file1_path, 'r') as f1, open(file2_path, 'r') as f2:
content1 = f1.read().splitlines()
content2 = f2.read().splitlines()
# 将内容转换为集合并去重
set1 = set(content1)
set2 = set(content2)
# 计算不同元素的数量
difference_count = len(set1.symmetric_difference(set2))
# 总行数
total_lines = len(content1) + len(content2)
# 计算重复率(假设两文件完全独立)
repetition_rate = difference_count / total_lines * 100 if total_lines != 0 else 0
return repetition_rate
# 示例使用
file1 = "file1.txt"
file2 = "file2.txt"
repetition_rate = file_similarity(file1, file2)
print(f"两个文件的重复率为: {repetition_rate}%")
阅读全文