第 0011 题: 敏感词文本文件 filtered_words.txt,里面的内容为以下内容,当用户输入敏感词语时,则打印出 Freedom,否则打印出 Human Rights。
北京
程序员
公务员
领导
牛比
牛逼
你娘
你妈
love
sex
jiangge
from cmd import Cmd
import sys
class CmdTest(Cmd):
def __init__(self,filename): # 初始基础类方法
super(CmdTest,self).__init__(filename)
self.intro = '敏感词检测,输入:[d 词汇];输入:[exit]退出' #程序提示信息
self.words =self.getData(filename)
def getData(self,filename):
with open(filename,'r') as f:
words = f.read().split()
return words
def do_d(self, line):
if line in self.words:
print('Freedom')
else:
print('Human Rights')
def do_exit(self, line): # 以do_*开头为命令
print("Exit:", line)
sys.exit()
if __name__ == "__main__":
cmd = CmdTest('filtered_words.txt')
cmd.cmdloop()<span style="white-space:pre"> </span>#循环执行
使用cmd模块,
cmd创建的命令解释器循环读取其输入的所有行,解析它们,然后发送命令到一个适当的命令处理器。输入行解析成两部分:命令和任何其他文字。如果用户输入foo bar,foo就是命令,bar就是参数,并且类包含一个名为do_foo()的方法,程序就会执行do_foo(bar);