Python3,自动抄袭检查神器,确实奈斯。
【摘要】 difflib,不得不掌握的一个库。
1、 自动抄袭检查器
1.1 difflib 介绍
关于difflib,可能大家并不陌生, 这里,针对difflib小鱼也简单说几句,如下:
Python的difflib库提供了一组方便的函数和类,用于处理序列数据类型,如列表、字符串等。
它提供了一些有用的功能,如逐行比较两个文本文件、计算两个列表之间的差异、合并两个列表等。
此外,它还提供了一些有用的可视化功能,如绘制序列数据的折线图和直方图等。
1.2 用法
这里,我也列举 diflib的用法,包含如下:
- 检测两个序列之间的差异
- 生成逐行差异列表
- 将一个序列与一个基准序列逐一比较
- 查找匹配序列的位置
- 生成一个 n-gram 的列表
简单示例
import difflib
'''
实现功能:
生成逐行差异列表
'''
text1 = 'hello world'
text2 = 'hallo wold'
d = difflib.Differ()
diff = list(d.compare(text1.splitlines(), text2.splitlines()))
for line in diff:
if line.startswith('+'):
print(f'Added: {line[2:]}')
elif line.startswith('-'):
print(f'Removed: {line[2:]}')
1.3 实例
代码示例
- 使用difflib进行对比,从而检查出是否存在一样的内容
# -*- coding:utf-8 -*-
# @Time : 2023-08-10
# @Author : Carl_DJ
'''
实现功能:
使用difflib进行对比,从而检查出是否存在一样的内容。
'''
from difflib import SequenceMatcher
#检测f1,f2的内容
def plagiarism_checker(f1,f2):
with open(f1,errors="ignore") as file1,open(f2,errors="ignore") as file2:
f1_data=file1.read()
f2_data=file2.read()
res=SequenceMatcher(None, f1_data, f2_data).ratio()
print(f"这两篇文章相似度 {res*100} % ")
f1=input("请输入需要检测的文件地址: ")
f2=input("请输入源文件地址: ")
plagiarism_checker(f1, f2)
2、总结
看到这里, 今天的分享差不多就到这里了。
其实,在平时的工作生活中, 两篇文字内容对比,很常用。
所以,掌握这个种小技巧,让我们的幸福感提升200%。
我是小鱼:
- CSDN 博客专家;
- 阿里云 专家博主;
- 51CTO博客专家;
- 51认证讲师等;
- 认证金牌面试官;
- 职场面试及培训规划师;
- 多个国内主流技术社区的认证专家博主;
- 多款主流产品(阿里云等)测评一、二等奖获得者;
关注我,带你学习更多更专业更前言的Python技术。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)