我正在尝试用python搜索和替换
我要搜索和替换的文件是一个 3 列制表符分隔的文件,具有以下示例输入:
dog walk 1
cat walk 2
pigeon bark 3
我一直在使用的代码如下:
####open_file
import codecs
input_file=codecs.open("corpus3_tst","r",encoding="utf-8")
lines=input_file.readlines()
for word in lines:
words=word.rstrip()
# define method
def replace_all(text, dic):
for i, j in dic.iteritems():
text = text.replace(i, j)
return text
# text for replacement
my_text = words
print my_text
# dictionary with key:values.
# replace values
reps = {'dog':'ANIMAL', 'cat':'ANIMAL', 'pigeon':'ANIMAL'}
# bind the returned text of the method
# to a variable and print it
txt = replace_all(my_text, reps)
print txt
我的问题是它只用 ANIMAL 替换了最后一个单词,并且它再次重复该行而不替换它。
输出:
pigeon bark 3
ANIMAL bark 3
有没有人知道我的脚本哪里出错了?我查看了 python replace() 的文档,以及 stackoverflow 上的类似查询,似乎我正在关注文档,所以我不知道我哪里出错了。