Python敏感词汇检测

只要思想不滑坡,办法总比困难多

昨天在写练习题的时候写到这点特别迷,一直绕不过这个弯,最后也算是成功实现吧,记录一下,防止下次再绕的出不来。

之前访问的的Github镜像站一直触发滥用检测机制,着实很烦人。
Python敏感词汇检测
代码实现过程

  1. 编写敏感词词汇文件 filtered_words.txt
    Python敏感词汇检测
    假设文件有四个敏感词汇,当输入的信息包含文件中的词汇时,进行替换
  2. 接受键盘输入,读取 filtered_words.txt 文件内容
words = input("请输入要检测的词语>>")
file_path = r'./assist/filtered_words.txt'  # 文件保存路径
with open(file_path, 'r') as f:
    # f.read() 原始格式为字符串
    z = "".join(f.read()).split("\n")  #将文本内件内容以换行符为界,转换为列表

注意,应该将词汇整体转换为一个列表对象,而不是逐字转换
Python敏感词汇检测
z 的格式及内容

  1. 通过遍历列表 z,判断列表中的元素是否在 words 中,如果存在则转换为 len(z[i]) 长度的 *
for i in range(0, len(z)):
    if z[i] in words:
        words = words.replace(z[i], "*" * len(z[i]))

单独的‘北’和‘程序’并没有被装换
Python敏感词汇检测
7. 综上,我认为程序功能已经实现,刚开始一直绕不出来的地方主要就在于字符串格式的转换,要不就是无法输出,要不就是逐字检测,要不就是单字逐行输出
若有纰漏,错误,不足之处,烦请不吝指正

上一篇:对登录名进行用户映射时,提示“用户、组或角色在当前数据库中已存在”问题


下一篇:pclpy 均匀采样