我有一个小的 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