编程语言
首页 > 编程语言> > Python敏感词汇检测

Python敏感词汇检测

作者:互联网

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

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

之前访问的的Github镜像站一直触发滥用检测机制,着实很烦人。
在这里插入图片描述
代码实现过程

  1. 编写敏感词词汇文件 filtered_words.txt
    假设文件有四个敏感词汇
    假设文件有四个敏感词汇,当输入的信息包含文件中的词汇时,进行替换
  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")  #将文本内件内容以换行符为界,转换为列表

注意,应该将词汇整体转换为一个列表对象,而不是逐字转换
在这里插入图片描述
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]))

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

标签:词汇,Python,len,列表,敏感,words,filtered,txt
来源: https://blog.csdn.net/m0_51492762/article/details/120633425