在进行字符串匹配时,发现逻辑没有什么问题,但是匹配不到正确的结果,比如:
if re.search(trans_word0,txtlist[fc]) and re.search(trans_word1,txtlist[fc]) and re.search(trans_word2,txtlist[fc]):
freq[word] = freq.get(word, 0) + 1
t = freq[word]
这一段判断在一条记录中是否同时出现三个给定的关键词。测试通过,但是通过文件读写问题就来了。后来想到可能是类型或编码的问题,于是先检查了类型,果然待匹配的字符串和目标字符串的字符类型不同,一个是unicode,一个是str,修改后,仍然没有匹配,于是检查了编码,发现编码果然不同,修改后,还是没有匹配…….不要放弃,继续查看待比较的两个对象,发现修改了数据结构后,原来的编码也相应的变了,于是更改了编码,OK,成功匹配了!