我有一个小的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
答案 0 :(得分:0)
我在本地尝试了一些代码。它适用于'ó'。 你能检查A& B是否采用相同的编码?