2013-10-10 212 views
1

我有一个小Python脚本,用于比较从文档A导入的单词列表与文档B中的一组行结尾,以便将不符合这些规则的文档复制到文档C.例子:匹配行结尾忽略Unicode字符

A (word list): 
salir 
entrar 
leer 

B (line endings list): 
ir 
ar 

C (those from A that do not match B): 
leer 

一般来说,工作正常,但我意识到,它不包含Unicode字符作为ó行结尾工作 - 没有错误消息,一切似乎顺利,但名单C不用仍然包含以ó结尾的单词。

这里是我的代码的摘录:

inputobj = codecs.open(A, "r") 
ruleobj = codecs.open(B, "r") 
nomatch = codecs.open(C, "w") 

inputtext = inputobj.readlines() 
ruletext = ruleobj.readlines() 

for line in inputtext: 
    x = 0 
    line = line.strip() 
    for rule in ruletext: 
     rule = rule.strip() 
     if line.endswith(rule): 
      print "rule", rule, " in line", line 
      x= x+1 
    if x == 0: 
     nomatchlist.append(line) 

for i in notmatchlist: 
    print >> nomatch, i 

回答

0

我试过在本地一些代码。它适用于'ó'。 你可以检查A & B是在相同的编码?

+0

感谢您的支持,B确实是另一种编码! – Daniel