题目要求如下:

  从文件解析敏感词,从终端获取用户输入。根据敏感词对用户输入进行过滤。这里过滤需要考虑不止一个过滤词:即将读取的所有过滤词,放进一个列表,用屏蔽词检索用户输入,如果有屏蔽词,则将其替换为*,如果没有,则不进行任何输入。直到所有屏蔽词遍历完毕,则输出过滤后字符串。

  过滤词列表如下所示:

  

  具体实现步骤如下:

    1. 从txt文件中读取需求屏蔽的敏感词列表

    2. 从终端获取用户输入,然后对输入的语句与敏感词列表进行匹配,如果匹配成功,则用‘*’替代

  代码实现如下:

import re

def read_txt(file_name):
    # 读取txt文件
    with open(file_name, 'r') as file_to_read:
        lines = list()
        for line in file_to_read.readlines():
            if line is not None:
                lines.append(line.strip('\n'))
    return lines

def shield_sensitive_word(file_name):
    # 屏蔽敏感词
    sensitive_word = read_txt(file_name)
    text = input('请输入:')
    for pattern in sensitive_word:
        match = re.search(pattern, text)
        if match is not None:
            text = text.replace(pattern, '*')

    print(text)

if __name__ == "__main__":
    path = r"C:\Users\Administrator\Desktop\Python_Study\python_small_program\filtered_words.txt"
    shield_sensitive_word(path)

如何用Python实现敏感词的过滤的更多相关文章

  1. Python实现敏感词过滤替换

    [本文出自天外归云的博客园] 问题 最近在网上搜到了一些练习题,对第十二题稍作修改如下: 敏感词文本文件“filtered_words.txt”,里面的内容: 北京人 人大 北京 程序员 公务员 领导 ...

  2. 使用DFA算法对敏感词进行过滤

    项目目录结构如下: 其中resources资源目录中: stopwd.txt :停顿词,匹配时间直接过滤. wd.txt:敏感词库. 1.WordFilter敏感词过滤类: package com.s ...

  3. python 实现敏感词屏蔽小程序

    有一个文件,里面有一些敏感词汇,如果输入这些词,就用**代替,然后输出.敏感词汇 dictionary.txt 文件内容: SB,傻B,傻逼,妈,日,shabi,操,sb,金三胖 代码实现主体: f ...

  4. java实现敏感词过滤(DFA算法)

    小Alan在最近的开发中遇到了敏感词过滤,便去网上查阅了很多敏感词过滤的资料,在这里也和大家分享一下自己的理解. 敏感词过滤应该是不用给大家过多的解释吧?讲白了就是你在项目中输入某些字(比如输入xxo ...

  5. Java 敏感词过滤,Java 敏感词替换,Java 敏感词工具类

    Java 敏感词过滤,Java 敏感词替换,Java 敏感词工具类   =========================== ©Copyright 蕃薯耀 2017年9月25日 http://www ...

  6. 敏感词过滤和XML的创建

    今天我慢下来啦,因为这三天没有新的课程学习内容,自己仅仅看啦一些,这让我停下来栖息片刻:说说现在的生活,简单的进行着,每天要奔波着去上课,然后回来,每天都在想怎样学习这个小知识点,大脑也在想怎样解决程 ...

  7. DFA和trie特里实现敏感词过滤(python和c语言)

    今天的项目是与完成python开展,需要使用做关键词检查,筛选分类,使用前c语言做这种事情.有了线索,非常高效,内存小了,检查快. 到达python在,第一个想法是pip基于外观的c语言python特 ...

  8. 8.2 前端检索的敏感词过滤的Python实现(针对元搜索)

    对于前端的搜索内容进行控制,比如敏感词过滤,同样使用socket,这里使用Python语言做一个demo.这里不得不感叹一句,socket真是太神奇了,可以跨语言把功能封装,为前端提供服务. 下面就是 ...

  9. [python每日一练]--0012:敏感词过滤 type2

    题目链接:https://github.com/Show-Me-the-Code/show-me-the-code代码github链接:https://github.com/wjsaya/python ...

随机推荐

  1. 学习2:总结# 1.while # 2.字符串格式化 # 3.运算符 # 4.编码初始

    目录 1.while循环 -- 死循环 2.字符串格式化: 3.运算符 4.编码 1.while循环 -- 死循环 while 条件: 循环体 打断死循环: break -- 终止当前循环 改变条件 ...

  2. Linux 文件编程、时间编程基本函数

    文件编程 文件描述符 fd --->>>数字(文件的身份证,代表文件身份),通过 fd 可找到正在操作或需要打开的文件. 基本函数操作: 1)打开/创建文件 int open (co ...

  3. local class incompatible: stream classdesc serialVersionUID = 4125096758372084309, local class serialVersionUID = 7725746634795906143

    local class incompatible: stream classdesc serialVersionUID = 4125096758372084309, local class seria ...

  4. 个人永久性免费-Excel催化剂功能第30波-工作表快捷操作(批量创建、命名、排序、工作表目录)

    日常使用Excel过程中,最多的操作无外乎单元格和工作表的操作,单元格的操作在前面已经有详细的辅助功能提供,此篇提供工作表相关的操作.这两项的操作若能有提速,日常大量的工作叠加起来真是省下不少时间. ...

  5. Java:前程似锦的 NIO 2.0

    Java 之所以能够霸占编程语言的榜首,其强大.丰富的类库功不可没,几乎所有的编程问题都能在其中找到解决方案.但在早期的版本当中,输入输出(I/O)流并不那么令开发者感到愉快: 1)JDK 1.4 之 ...

  6. 校园表白墙、微信表白墙、校园墙 微信小程序 JAVA 开发记录与分享

    目录 最新版表白墙博客地址 1.微信小程序前台展示 2.功能介绍 3.后台管理 4.后端语言采用 JAVA 开发 5.体验此微信小程序 扫描下方二维码 6.如何联系我或需要源码进行联系 最新版表白墙博 ...

  7. Linux 下载文件命令(wget)

    wget是Linux最常用的下载命令, 一般的使用方法是: wget + 空格 + 要下载文件的url路径 例如: # wget http://www.linuxsense.org/xxxx/xxx. ...

  8. mySQL相关函数的使用

    获取执行SQL指令被影响的记录数或字段数 ·mysqlo_num_rows()函数:适用于执行SELECT语句,可以返回被筛选出来的记录数. 其语法如下,参数result为资源标识符 mysqlo_n ...

  9. 解读Android MediaPlayer 详细使用方法

        MediaPlayer具有非常强大的功能,对音视频的播放均提供了支持,为了保证播放期间系统的正常工作,需要设置"android.permission.WAKE_LOCK"权 ...

  10. 带新手玩转MVC——不讲道理就是干(下)

    带新手玩转MVC——不讲道理就是干(下) 前言:废话不多说,直接开干 完整案例演示 案例代码 LoginServlet package servlet; import domain.User; imp ...