匹配的行结尾忽略unicode字符

时间:2013-10-10 08:25:30

标签: python unicode compare

我有一个小的Python脚本,它将文档A中导入的单词列表与文档B中的一组行结尾进行比较,以便将那些与这些规则不匹配的单词列表复制到文档C.示例:

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

1 个答案:

答案 0 :(得分:0)

我在本地尝试了一些代码。它适用于'ó'。 你能检查A& B是否采用相同的编码?