2017-07-16 71 views
-1

我有一个文本文件,我必须替换多个单词。在文本文件中替换多个单词

到目前为止的代码:读取

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

您在'reps'字典中没有'MADEIT'键。 – taras

+0

对不起..我在post.Mode复制代码时发生了一些错误。请参见正确的代码。我想用整数1替换MADEIT,但它不起作用 –

+0

您确定您现在没有错误吗? – taras

回答

0

这是因为你的return语句在for循环中。如果将其移出(即,通过一个选项卡将其缩小),它应该可以工作。

+0

非常感谢指出我的错误 –