python用类实现文章敏感词的过滤方法示例


Posted in Python onOctober 27, 2019

过滤一遍并将敏感词替换之后剩余字符串中新组成了敏感词语,这种情况就要用递归来解决,直到过滤替换之后的结果和过滤之前一样时才算结束

第一步:建立一个敏感词库(.txt文本)

python用类实现文章敏感词的过滤方法示例

第二步:编写代码在文章中过滤敏感词(递归实现)

# -*- coding: utf-8 -*-
# author 代序春秋
import os
import chardet

# 获取文件目录和绝对路径
curr_dir = os.path.dirname(os.path.abspath(__file__))
# os.path.join()拼接路径
sensitive_word_stock_path = os.path.join(curr_dir, 'sensitive_word_stock.txt')


# 获取存放敏感字库的路径
# print(sensitive_word_stock_path)


class ArticleFilter(object):
  # 实现文章敏感词过滤
  def filter_replace(self, string):
    # string = string.decode("gbk")
    #  存放敏感词的列表
    filtered_words = []
    #  打开敏感词库读取敏感字
    with open(sensitive_word_stock_path) as filtered_words_txt:
      lines = filtered_words_txt.readlines()
      for line in lines:
        # strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
        filtered_words.append(line.strip())
    # 输出过滤好之后的文章
    print("过滤之后的文字:" + self.replace_words(filtered_words, string))

  # 实现敏感词的替换,替换为*
  def replace_words(self, filtered_words, string):
    #  保留新字符串
    new_string = string
    #  从列表中取出敏感词
    for words in filtered_words:
      # 判断敏感词是否在文章中
      if words in string:
        # 如果在则用*替换(几个字替换几个*)
        new_string = string.replace(words, "*" * len(words))
    # 当替换好的文章(字符串)与被替换的文章(字符串)相同时,结束递归,返回替换好的文章(字符串)
    if new_string == string:
      #  返回替换好的文章(字符串)
      return new_string
    # 如果不相同则继续替换(递归函数自己调用自己)
    else:
      #  递归函数自己调用自己
      return self.replace_words(filtered_words, new_string)


def main():
  while True:
    string = input("请输入一段文字:")
    run = ArticleFilter()
    run.filter_replace(string)
    continue


if __name__ == '__main__':
  main()

运行结果:

python用类实现文章敏感词的过滤方法示例

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python编写百度贴吧的简单爬虫
Apr 02 Python
分享Python开发中要注意的十个小贴士
Aug 30 Python
NumPy 如何生成多维数组的方法
Feb 05 Python
Tensorflow实现AlexNet卷积神经网络及运算时间评测
May 24 Python
Python简单获取二维数组行列数的方法示例
Dec 21 Python
对python PLT中的image和skimage处理图片方法详解
Jan 10 Python
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
Mar 18 Python
Python实现爬取亚马逊数据并打印出Excel文件操作示例
May 16 Python
Python K最近邻从原理到实现的方法
Aug 15 Python
Python安装tar.gz格式文件方法详解
Jan 19 Python
Python3爬虫中Ajax的用法
Jul 10 Python
详解Python中@staticmethod和@classmethod区别及使用示例代码
Dec 14 Python
通过字符串导入 Python 模块的方法详解
Oct 27 #Python
python实现树的深度优先遍历与广度优先遍历详解
Oct 26 #Python
python图的深度优先和广度优先算法实例分析
Oct 26 #Python
python单例模式原理与创建方法实例分析
Oct 26 #Python
Python aiohttp百万并发极限测试实例分析
Oct 26 #Python
python实现淘宝购物系统
Oct 25 #Python
DJANGO-URL反向解析REVERSE实例讲解
Oct 25 #Python
You might like
PHP定时自动生成静态HTML的实现代码
2010/06/20 PHP
php解析base64数据生成图片的方法
2016/12/06 PHP
PHP房贷计算器实例代码,等额本息,等额本金
2017/04/01 PHP
阿里云的WindowsServer2016上部署php+apache
2018/07/17 PHP
PHP实现百度人脸识别
2019/05/06 PHP
javascript 原型模式实现OOP的再研究
2009/04/09 Javascript
通过JS 获取Mouse Position(鼠标坐标)的代码
2009/09/21 Javascript
jquery 事件执行检测代码
2009/12/09 Javascript
JS构建页面的DOM节点结构的实现代码
2011/12/09 Javascript
jquery仿QQ商城带左右按钮控制焦点图片切换滚动效果
2013/06/27 Javascript
jQuery的缓存机制浅析
2014/06/07 Javascript
jQuery模拟新浪微博首页滚动效果的方法
2015/03/11 Javascript
不同js异步函数同步的实现方法
2016/05/28 Javascript
JS实现一个简单的日历
2017/02/22 Javascript
基于javascript实现日历功能原理及代码实例
2020/05/07 Javascript
在Django的视图中使用数据库查询的方法
2015/07/16 Python
Python格式化输出%s和%d
2018/05/07 Python
Flask实现跨域请求的处理方法
2018/09/27 Python
Python 实现两个服务器之间文件的上传方法
2019/02/13 Python
python画双y轴图像的示例代码
2019/07/07 Python
Python中变量的输入输出实例代码详解
2019/07/28 Python
Python+Dlib+Opencv实现人脸采集并表情判别功能的代码
2020/07/01 Python
Python实现画图软件功能方法详解
2020/07/28 Python
丝芙兰加拿大官方网站:SEPHORA加拿大
2018/11/20 全球购物
英国在线泳装店:Simply Swim
2019/05/05 全球购物
电子商务专业个人的自我评价
2013/11/19 职场文书
实习评语
2013/12/16 职场文书
研究生毕业鉴定
2014/01/29 职场文书
金融管理专业毕业生求职信
2014/03/12 职场文书
农村改厕实施方案
2014/03/22 职场文书
主题实践活动总结
2014/05/08 职场文书
党组织领导班子整改方案
2014/10/25 职场文书
努力工作保证书
2015/02/28 职场文书
2015年销售人员工作总结
2015/04/07 职场文书
高效课堂教学反思
2016/02/24 职场文书
MySQL索引知识的一些小妙招总结
2021/05/10 MySQL