我有一个文本文件,我必须替换多个单词。
到目前为止代码:
NUMBEROFAPNS = raw_input("Please enter the APNS needed in the LTE profile: ")
NUMBEROFAPNS = int(NUMBEROFAPNS)
i = 0
for i in range(NUMBEROFAPNS):
APNS[i] = raw_input("enter the APN" + str(i+1))
i = i + 1
n = 0
for n in range(NUMBEROFAPNS):
REPLACEAPN_input= (dict.values(APNS))[0]
MAKEITDEFAULT_input=int(0+1)
APNheader = str(pwd) + "/APNCREATION.txt"
APNread = open(APNheader, "r")
s=APNread.read()
reps= {'REPLACEAPN':REPLACEAPN_input,'MADEIT':str(MAKEITDEFAULT_input),}
txt = self.replace_all(s, reps)
print txt
def replace_all(self, text, dic):
for i, j in dic.iteritems():
text = text.replace(i, j)
return text
正在读取的文本文件如下所示
<epsPdnContext>
<apn>REPLACEAPN</apn>
<contextId>MADEIT</contextId>
我可以将此处的REPLACEAPN
字替换为我提供的任何输入,但MADEIT
字根本不会替换。
请让我知道我在这里做错了什么。
答案 0 :(得分:0)
这是因为你的return语句在for循环中。如果你把它移出(也就是说,用一个标签去除它),它应该可以工作。