敏感词文本文件 filtered_words.txt,里面的内容为以下内容,当用户输入敏感词语时,则打印出 Freedom,否则打印出 Human Rights。
love
sex
jiangge
bitch
代码中有两种从txt文件中获取敏感词的方法,有一种被注释掉了,因为用这种方法获得的list最后会有一个空的字符串,导致下面find的时候一直会匹配成功,感兴趣的同学可以去掉注释试一下(同时需要注释掉注释下面的4行)
#!/usr/bin/python
#encoding=utf-8
def get_sensitive_word(filepath):
f = open(filepath, 'r')
#data = f.read()
#filt = data.split('\n') 这个方法得到的序列中最后有一个空的字符串,导致匹配一直成功
words = []
for word in f:
#strip删除字符序列,这里是删除word中的'\n'
words.append(word.strip('\n'))
f.close()
return words
def filter_word(words):
flag = False
text = raw_input('please input: ')
for word in words:
if text.find(word) != -1:
flag = True
if flag:
print 'freedom'
else:
print 'human rights'
if __name__ == '__main__':
filepath = 'filtered_words.txt'
words = get_sensitive_word(filepath)
filter_word(words)
完整项目见这里