#!/usr/bin/python#-*-coding:utf-8-*-
__author__ = 'lxw'#dictionary.txt的下载地址为:http://pan.baidu.com/s/1i4JL4RNimport string
defloadEnglish():#这个函数加载字典文件
dicFile = open('dictionary.txt')
english_word= {}
for word in dicFile.read().split('\n'):
english_word[word]=Nonereturn english_word
ENGLISH_WORDS = loadEnglish()
defremovenonLetters(message):#移除非字母字符,包括标点符号和数字
letterOnly = []
allLetter = string.uppercase+string.lowercase+' \n\t'for i in message:
if i in allLetter:
letterOnly.append(i)
return"".join(letterOnly)
defgetEnglishCount(message):#得到一段字符串中单词的个数
message = message.upper()
message = removenonLetters(message)
match = 0
words = message.split()
if len(words)==0: return0.0for word in words:
if word in ENGLISH_WORDS.keys():
match+=1return float(match)/len(words)
defisEnglish(message,wordPercentage=20,letterPercentage=85):#调用这个函数判断一段字符串是否问一段英文.如果是则返回True
wordMatch = getEnglishCount(message)*100 >= wordPercentage
removedMsg = removenonLetters(message)
letterMatch = (len(removedMsg)/float(len(message)))*100>=letterPercentage
return wordMatch and letterMatch