每天一个python小程序(7)--敏感词

敏感词文本文件 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)

完整项目见这里